1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Wireless Radio Disabled on cold boot (WRT54G V2)

Discussion in 'Tomato Firmware' started by ChiefWiggum, Jun 5, 2009.

  1. ChiefWiggum

    ChiefWiggum Addicted to LI Member

    Hi All,

    This is my first post, so please be gentle !

    I recently switched to Tomato 1.25 for my WRT54G V2, from the standard Linksys
    firmware. Mainly after the Static DHCP feature for my 5 wireless devices, which works beautifully.

    However, when I first start my router (from cold), the wireless is always off.
    The router says - radio disabled. If i press enable, it goes through the motions, but it remains disabled. Now if I let the router stay switched on (i.e warm up for a bit?) and then reboot, then the wireless comes on.

    My router + modem is on a timer, so it gets switched off at night and switched on in the evening when I am back from work.

    The only clue I have is from the difference of a few lines in the log files

    Non Working Radio Log extract:

    Jan 1 00:00:05 unknown user.warn kernel: ip_conntrack_rtsp v0.01 loading
    Jan 1 00:00:05 unknown user.warn kernel: ip_nat_rtsp v0.01 loading
    Jan 1 00:00:05 unknown user.warn kernel: eth0: Broadcom BCM47xx 10/100 Mbps Ethernet Controller 3.90.38.0
    Jan 1 00:00:05 unknown user.warn kernel: tomato_ct.c [May 25 2009 16:12:35]
    Jan 1 00:00:05 unknown user.info kernel: vlan0: dev_set_promiscuity(master, 1)
    Jan 1 00:00:05 unknown user.info kernel: device eth0 entered promiscuous mode
    Jan 1 00:00:05 unknown user.info kernel: device vlan0 entered promiscuous mode


    Working Router Radio Log extract:

    Jan 1 00:00:05 unknown user.warn kernel: ip_conntrack_rtsp v0.01 loading
    Jan 1 00:00:05 unknown user.warn kernel: ip_nat_rtsp v0.01 loading
    Jan 1 00:00:05 unknown user.warn kernel: eth0: Broadcom BCM47xx 10/100 Mbps Ethernet Controller 3.90.38.0
    Jan 1 00:00:05 unknown user.warn kernel: eth1: Broadcom BCM4320 802.11 Wireless Controller 3.90.38.0
    Jan 1 00:00:05 unknown user.warn kernel: tomato_ct.c [May 25 2009 16:12:35]
    Jan 1 00:00:05 unknown user.info kernel: vlan0: dev_set_promiscuity(master, 1)
    Jan 1 00:00:05 unknown user.info kernel: device eth0 entered promiscuous mode
    Jan 1 00:00:05 unknown user.info kernel: device vlan0 entered promiscuous mode

    Things to note :
    This does not happen with the standard Linksys firmware.
    Only happens from cold. If the router is running for sometime, rebooting is fine.

    Do give me some help. Maybe there is some extended logging which I can look or maybe some magic scripts?
    ChiefWiggum
     
  2. nvtweak

    nvtweak LI Guru Member

    tried cleaning (erasing) the nvram and reconfigure from scratch?
     
  3. ChiefWiggum

    ChiefWiggum Addicted to LI Member

    Yes, but no difference..
    Unrolled back to std linksys a few times & flashed again via upgrade/direct telnet but no difference..

    Could someone point me to a list of possible commands which can be issued in the routers "scripts" section page ?
     
  4. comet.berkeley

    comet.berkeley Addicted to LI Member

    I fixed this problem

    A similar thing happened to me in an earlier version of Tomato perhaps 1.19 or so.

    I added the following code to my "init" script under the Admin - Scripts:

    #! /bin/sh
    #
    # fix ethernet "driver failed with code 23"
    #
    /sbin/insmod wl
     
  5. ChiefWiggum

    ChiefWiggum Addicted to LI Member

    I have now written a small script for startup - in firewall section

    This checks if wireless hardware address is valid, if not, sleeps for 30 seconds & reboots the router. Usually 1 reboot is enough.

    Workaround is working quite well. :smile:, also fun brushing up my scripting skills
    Code below :

    #!/bin/sh
    echo !!! Checking WAN Status !!! | logger

    ## Expected
    ## wl0_hwaddr=xx:xx:xx:xx:xx:xx

    WLAN=`nvram get wl0_hwaddr`

    if [ -z $WLAN ] ; then
    echo !!! WLAN is down... Rebooting in 30 secs !!! | logger

    SLEEP=30
    NAP=0
    while [ $NAP -lt $SLEEP ]; do
    sleep 1
    led dmz on
    let NAP++

    sleep 1
    led dmz off
    let NAP++

    echo Nap at $NAP | logger
    done

    echo !!! REBOOTING NOW !!! | logger
    reboot
    else
    echo !!! WLAN is OK !!! | logger
    fi
     

Share This Page