diff --git a/source/scripts/init/service.d/lan_handler.sh b/source/scripts/init/service.d/lan_handler.sh index e0350d23..7e8bffc9 100755 --- a/source/scripts/init/service.d/lan_handler.sh +++ b/source/scripts/init/service.d/lan_handler.sh @@ -162,7 +162,9 @@ case "$1" in fi ;; ipv4_*-status) + echo_t "LAN HANDLER : Received $1 event with status $2" if [ x"up" = x${2} ]; then + echo_t "LAN HANDLER : Handling LAN up event for instance ${1}" INST=${1#*_} INST=${INST%-*} RG_MODE=`syscfg get last_erouter_mode` @@ -184,12 +186,14 @@ case "$1" in if [ xbrlan0 = x${LAN_IFNAME} ]; then + echo_t "LAN HANDLER : Handling LAN up event for brlan0, configuring IPv6 address if needed" SYSEVT_lan_ipaddr_v6_prev=`sysevent get lan_ipaddr_v6_prev` if [ "1" = "$(sysevent get ula_ipv6_enabled)" ] && [ "1" != "$(syscfg get Device_Mode)" ]; then SYSEVT_lan_ipaddr_v6=$(sysevent get ipv6_prefix_ula | cut -d "/" -f 1) SYSEVT_lan_ipaddr_v6=${SYSEVT_lan_ipaddr_v6}1 else + echo_t "LAN HANDLER : Using global IPv6 address for LAN" SYSEVT_lan_ipaddr_v6=`sysevent get lan_ipaddr_v6` fi SYSEVT_lan_prefix_v6=`sysevent get lan_prefix_v6` @@ -255,6 +259,7 @@ case "$1" in elif [ x"ready" != x`sysevent get start-misc` ] && ( [ "$MANUFACTURE" = "Technicolor" ] || [ "$MANUFACTURE" = "Sercomm" ] ) ; then #TCH XBx/TCCBR based startup post.d scripts which includes Firewall restart and dhcp start. sysevent set lan-status started + echo_t "LAN HANDLER : lan status set to started" firewall if [ ! -f "$POSTD_START_FILE" ]; then @@ -264,6 +269,7 @@ case "$1" in else echo_t "LAN HANDLER : Triggering DHCP server using LAN status" sysevent set lan-status started + echo_t "LAN HANDLER : lan status set to started" echo_t "LAN HANDLER : Triggering RDKB_FIREWALL_RESTART" t2CountNotify "RF_INFO_RDKB_FIREWALL_RESTART" sysevent set firewall-restart @@ -314,6 +320,8 @@ case "$1" in sysevent set firewall-restart if [ -e "/usr/bin/print_uptime" ]; then /usr/bin/print_uptime "Laninit_complete" + echo_t "LAN HANDLER : Laninit_complete uptime: $(cut -d. -f1 /proc/uptime)" + echo_t "LAN HANDLER : Checking lan-status after lan init complete, lan-status = $(sysevent get lan-status)" fi uptime=$(cut -d. -f1 /proc/uptime) @@ -344,7 +352,7 @@ case "$1" in pnm-status | bring-lan) if [ -e "/usr/bin/print_uptime" ]; then /usr/bin/print_uptime "Lan_init_start" - fi + fi uptime=$(cut -d. -f1 /proc/uptime) if [ -e "/usr/bin/onboarding_log" ]; then /usr/bin/onboarding_log "Lan_init_start:$uptime" @@ -354,7 +362,6 @@ case "$1" in if [ -z "$INST" ] then echo_t "THE INSTANT=$INST" - echo_t "THE INSTANT=$INST" #(use a simpler test than this -- but Hacky, since it assumes everything we want is not XB3!!)if [ "$BOX_TYPE" = "TCCBR" ] || [ "$BOX_TYPE" = "XB6" -a "$MANUFACTURE" = "Technicolor" ] || [ "$BOX_TYPE" = "XB7" -a "$MANUFACTURE" = "Technicolor" ] ; then if ( [ "$BOX_TYPE" != "XB3" ] && ( [ "$MANUFACTURE" = "Technicolor" ] || [ "$MANUFACTURE" = "Sercomm" ] ) ) || [ "$BOX_TYPE" = "rpi" ] || [ "$BOX_TYPE" = "bpi" ]; then COUNTER=1 @@ -371,7 +378,7 @@ case "$1" in echo_t "THE COUNTER =$COUNTER" done else - echo_t "RDKB_SYSTEM_BOOT_UP_LOG : INST rerurned null, retrying" + echo_t "RDKB_SYSTEM_BOOT_UP_LOG : INST returned null, retrying" INST=`psmcli get dmsb.MultiLAN.PrimaryLAN_l3net` fi diff --git a/source/service_dhcp/lan_handler.c b/source/service_dhcp/lan_handler.c index 875f55b0..c5bcb1fa 100644 --- a/source/service_dhcp/lan_handler.c +++ b/source/service_dhcp/lan_handler.c @@ -409,6 +409,10 @@ void bring_lan_up() sysevent_set(g_iSyseventfd, g_tSysevent_token, "homesecurity_lan_l3net", l_cHomeSecurity_L3net, 0); #endif } + else + { + fprintf(g_fArmConsoleLog, "LAN HANDLER FAILURE : PrimaryLAN_l3net is empty after all PSM retries, LAN start cannot proceed\n"); + } } else { @@ -450,6 +454,9 @@ void ipv4_status(int l3_inst, char *status) sysevent_get(g_iSyseventfd, g_tSysevent_token, "primary_lan_l3net", primary_l3net, sizeof(primary_l3net)); + fprintf(g_fArmConsoleLog, "LAN HANDLER DEBUG: ipv4_status entry - l3_inst=%d, status=%s, primary_lan_l3net=%s, is_primary=%d\n", + l3_inst, status, primary_l3net, (l3_inst == atoi(primary_l3net))); + #if defined (WAN_FAILOVER_SUPPORTED) || defined(RDKB_EXTENDER_ENABLED) int devMode=0, ulaEnable=0; char buf[128] = {0}; @@ -611,13 +618,14 @@ void ipv4_status(int l3_inst, char *status) char l_cParcon_Nfq_Status[16] = {0}; sysevent_get(g_iSyseventfd, g_tSysevent_token, "parcon_nfq_status", l_cParcon_Nfq_Status, sizeof(l_cParcon_Nfq_Status)); - + fprintf(g_fArmConsoleLog, "LAN HANDLER DEBUG: Decision inputs - last_erouter_mode=%s, start_misc=%s, current_wan_ipaddr=%s, parcon_nfq=%s\n", + l_cLast_Erouter_Mode, l_cStart_Misc, l_cCurrentWan_IpAddr, l_cParcon_Nfq_Status); if ((!strncmp(l_cLast_Erouter_Mode, "2", 1)) && (strncmp(l_cStart_Misc, "ready", 5))) { if ( l3_inst == atoi(primary_l3net)) { - fprintf(g_fArmConsoleLog, "LAN HANDLER : Triggering DHCP server using LAN status based on RG_MODE:2"); + fprintf(g_fArmConsoleLog, "LAN HANDLER : Setting LAN start (Branch1-RG_MODE2) and Triggering DHCP server using LAN status based on RG_MODE:2\n"); sysevent_set(g_iSyseventfd, g_tSysevent_token, "lan-status", "started", 0); } system("firewall"); @@ -635,7 +643,7 @@ void ipv4_status(int l3_inst, char *status) if ( l3_inst == atoi(primary_l3net)) { - fprintf(g_fArmConsoleLog, "LAN HANDLER : Triggering DHCP server using LAN status based on start misc\n"); + fprintf(g_fArmConsoleLog, "LAN HANDLER : Starting LAN (primary l3net) and Triggering DHCP server using LAN status based on start misc\n"); sysevent_set(g_iSyseventfd, g_tSysevent_token, "lan-status", "started", 0); } if (strncmp(l_cParcon_Nfq_Status, "started", 7)) @@ -690,9 +698,11 @@ void ipv4_status(int l3_inst, char *status) } else { + fprintf(g_fArmConsoleLog, "LAN HANDLER DEBUG: Entered ELSE/fallback branch - erouter_mode=%s, start_misc=%s, wan_ip=%s\n", + l_cLast_Erouter_Mode, l_cStart_Misc, l_cCurrentWan_IpAddr); if ( l3_inst == atoi(primary_l3net)) { - fprintf(g_fArmConsoleLog, "LAN HANDLER : Triggering DHCP server using LAN status\n"); + fprintf(g_fArmConsoleLog, "LAN HANDLER : setting lan-status=started, Triggering DHCP server using LAN status\n"); sysevent_set(g_iSyseventfd, g_tSysevent_token, "lan-status", "started", 0); } fprintf(g_fArmConsoleLog, "LAN HANDLER : Triggering RDKB_FIREWALL_RESTART\n"); @@ -704,8 +714,8 @@ void ipv4_status(int l3_inst, char *status) // system("firewall_nfq_handler.sh &"); sysinfo(&l_sSysInfo); snprintf(l_cLan_Uptime, sizeof(l_cLan_Uptime), "%ld", l_sSysInfo.uptime); - sysevent_set(g_iSyseventfd, g_tSysevent_token, "lan_start_time", l_cLan_Uptime, 0); - + sysevent_set(g_iSyseventfd, g_tSysevent_token, "lan_start_time", l_cLan_Uptime, 0); + fprintf(g_fArmConsoleLog, "LAN HANDLER DEBUG: lan_start_time=%s, l3_inst=%d, setting ipv4_%d_status_configured\n", l_cLan_Uptime, l3_inst, l3_inst); if (4 == l3_inst) { sysevent_set(g_iSyseventfd, g_tSysevent_token, "ipv4_4_status_configured", "1", 0); @@ -745,6 +755,7 @@ void ipv4_status(int l3_inst, char *status) } else { + fprintf(g_fArmConsoleLog, "LAN HANDLER DEBUG: ipv4_status - status is NOT 'up' (status=%s), l3_inst=%d\n", status, l3_inst); if ( l3_inst == atoi(primary_l3net)) { sysevent_get(g_iSyseventfd, g_tSysevent_token, "lan-status", diff --git a/source/service_routed/service_routed.c b/source/service_routed/service_routed.c index 79ee13ac..9873793b 100644 --- a/source/service_routed/service_routed.c +++ b/source/service_routed/service_routed.c @@ -2075,6 +2075,7 @@ STATIC void checkIfModeIsSwitched(int sefd, token_t setok) #endif STATIC int radv_start(struct serv_routed *sr) { + fprintf(logfptr, "%s: Entering\n", __FUNCTION__); #ifdef RDKB_EXTENDER_ENABLED int deviceMode = GetDeviceNetworkMode(); @@ -2114,6 +2115,7 @@ STATIC int radv_start(struct serv_routed *sr) char aBridgeMode[8]; syscfg_get(NULL, "bridge_mode", aBridgeMode, sizeof(aBridgeMode)); + fprintf(logfptr, "%s: bridge_mode %s and LAN ready = %d\n", __FUNCTION__, aBridgeMode, sr->lan_ready); if ((!strcmp(aBridgeMode, "0")) && (!sr->lan_ready)) { fprintf(logfptr, "%s: LAN is not ready !\n", __FUNCTION__); return -1; @@ -2177,6 +2179,7 @@ STATIC int radv_start(struct serv_routed *sr) printf("DHCPv6 is %s. Starting zebra Process\n", (bEnabled?"Enabled":"Disabled")); #else v_secure_system("zebra -d -f %s -P 0 2> /tmp/.zedra_error", ZEBRA_CONF_FILE); + fprintf(logfptr, "%s: zebra started\n", __FUNCTION__); #endif return 0; @@ -2411,11 +2414,17 @@ STATIC int serv_routed_init(struct serv_routed *sr) sysevent_get(sr->sefd, sr->setok, "wan-status", wan_st, sizeof(wan_st)); if (strcmp(wan_st, "started") == 0) + { sr->wan_ready = true; + fprintf(logfptr, "%s: WAN is ready and value = %d\n", __FUNCTION__, sr->wan_ready); + } sysevent_get(sr->sefd, sr->setok, "lan-status", lan_st, sizeof(lan_st)); if (strcmp(lan_st, "started") == 0) + { sr->lan_ready = true; + fprintf(logfptr, "%s: LAN is ready and value = %d\n", __FUNCTION__, sr->lan_ready); + } return 0; }