Changeset 12229


Ignore:
Timestamp:
06/01/09 06:57:42 (4 years ago)
Author:
eko
Message:

some more dual radio stuff

Location:
src/router/rc
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • src/router/rc/init.c

    r12224 r12229  
    543543 
    544544        fclose(fp); 
     545         
     546        int cnt = get_wl_instances(); 
     547    int c; 
     548     
    545549        /*  
    546550         * Loop forever  
     
    575579 
    576580#if !defined(HAVE_MADWIFI) && !defined(HAVE_RT2880) 
    577                         eval("wlconf", nvram_safe_get("wl0_ifname"), "down"); 
    578                         eval("wlconf", nvram_safe_get("wl1_ifname"), "down"); 
    579                         char *next; 
    580                         char var[80]; 
    581                         char *vifs = nvram_safe_get("wl0_vifs"); 
     581    for (c = 0; c < cnt; c++) { 
     582                eval("wlconf", get_wl_instance_name(c), "down"); 
     583                char *next; 
     584                char var[80]; 
     585                char *vifs = nvram_nget("wl%d_vifs", c); 
    582586 
    583587                        if (vifs != NULL) 
     
    585589                                eval("ifconfig", var, "down"); 
    586590                                } 
     591        } 
    587592#endif 
    588593 
     
    702707#if !defined(HAVE_MADWIFI) && !defined(HAVE_RT2880) 
    703708#ifdef HAVE_RADIOOFF 
    704                         if (nvram_match("radiooff_button", "1") 
    705                             && nvram_match("radiooff_boot_off", "1")) { 
    706                                 eval("wl", "-i", get_wl_instance_name(0), 
    707                                      "radio", "off"); 
    708                         } else 
    709 #endif 
    710                                 start_service("nas"); 
     709                if (nvram_match("radiooff_button", "1") 
     710                    && nvram_match("radiooff_boot_off", "1" )) 
     711                { 
     712                    for (c = 0; c < cnt; c++) { 
     713                    eval("wl", "-i", get_wl_instance_name(c), "radio", 
     714                          "off"); 
     715                        } 
     716                        led_control( LED_SEC0, LED_OFF ); 
     717                        led_control( LED_SEC1, LED_OFF ); 
     718                } 
     719                else 
     720#endif 
     721                        { 
     722                        start_service("nas"); 
    711723                        start_service("guest_nas"); 
     724                        } 
    712725#endif 
    713726 
  • src/router/rc/radio_timer.c

    r12224 r12229  
    165165                                             "RadioOn=1"); 
    166166#else 
    167                                         if (pidof("nas") > 0 
    168                                             || pidof("wrt-radauth") > 0) { 
    169                                                 stop_service("nas"); 
    170                                         } 
     167                                        stop_service("nas"); 
    171168                                        eval("wl", "-i", 
    172169                                             get_wl_instance_name(0), "radio", 
     
    186183                                             "RadioOn=0"); 
    187184#else 
    188                                         if (pidof("nas") > 0 
    189                                             || pidof("wrt-radauth") > 0) { 
    190                                                 stop_service("nas"); 
    191                                         } 
     185                                        stop_service("nas"); 
    192186                                        eval("wl", "-i", 
    193187                                             get_wl_instance_name(0), "radio", 
    194188                                             "off"); 
     189                                        eval("startservice", "nas"); 
     190                                        start_service("guest_nas"); 
    195191#endif 
    196192                                        break; 
     
    203199                                        syslog(LOG_DEBUG, 
    204200                                               "Turning radio 1 on\n"); 
    205                                         if (pidof("nas") > 0 
    206                                             || pidof("wrt-radauth") > 0) { 
    207                                                 stop_service("nas"); 
    208                                         } 
     201#ifdef HAVE_MADWIFI 
     202                                        eval("ifconfig", "ath1", "up"); 
     203#elif HAVE_RT2880 
     204                                        eval("iwpriv", "ra1", "set", 
     205                                             "RadioOn=1"); 
     206#else 
     207                                        stop_service("nas"); 
    209208                                        eval("wl", "-i", 
    210209                                             get_wl_instance_name(1), "radio", 
     
    212211                                        eval("startservice", "nas"); 
    213212                                        start_service("guest_nas"); 
     213#endif 
    214214                                        break; 
    215215 
     
    217217                                        syslog(LOG_DEBUG, 
    218218                                               "Turning radio 1 off\n"); 
    219                                         if (pidof("nas") > 0 
    220                                             || pidof("wrt-radauth") > 0) { 
    221                                                 stop_service("nas"); 
    222                                         } 
     219#ifdef HAVE_MADWIFI 
     220                                        eval("ifconfig", "ath1", "down"); 
     221#elif HAVE_RT2880 
     222                                        eval("iwpriv", "ra1", "set", 
     223                                             "RadioOn=0"); 
     224#else 
     225                                        stop_service("nas"); 
    223226                                        eval("wl", "-i", 
    224227                                             get_wl_instance_name(1), "radio", 
    225228                                             "off"); 
     229                                        eval("startservice", "nas"); 
     230                                        start_service("guest_nas"); 
     231#endif 
    226232                                        break; 
    227233                                } 
Note: See TracChangeset for help on using the changeset viewer.