[WLANware] Bug with S05nvram and WL-HDD

Dan Flett conhoolio at hotmail.com
Sat Oct 7 08:25:15 CEST 2006


Hi all,

I've been having problems with using the Freifunk-Kit with the WL-HDD.  If I 
create a TRX image with the kit and load it into a WL-HDD all the network 
interfaces become unreachable.  I can tell that everything is working 
internally because the wlan SSID is what I set it to with the kit, and if I 
use the firmware recovery tool and load WhiteRussian RC5, I can see that the 
Kit set it's nvram variables correctly.

It took a while, but I've narrowed the problem down to the S05nvram init.d 
script that runs at firstboot only.

The version of S05nvram that FF uses seems to be based on an old 
WhiteRussian version.  It uses the nvram var "productid" to distinguish 
between various Asus models.  The problem is, "productid" does not survive 
an "mtd erase nvram" - so if you erase your nvram and use the bootloader 
defaults, S05nvram does not correctly set the "lan_ifnames" variable.  This 
isn't usually a big problem with most firmwares WL-HDD, including a 
plain-vanilla Freifunk Firmware.

But when you use the FF-Kit, you set "wifi_ifname" and I believe the routine 
in S14ffnvram for some reason does not correct this.  I don't know why - it 
should remove the wlan interface from "lan_ifnames" but it seems that it 
does not.  Another theory is that "lan_ifnames" is conflicting with 
"wan_ifname".

I've copied the latest S05nvram script from the WhiteRussian SVN:
https://dev.openwrt.org/browser/branches/whiterussian/openwrt/package/base-files/default/etc/init.d/S05nvram
Putting this script into root.tgz in the appropriate place seems to fix the 
problem on the WL-HDD.  The new version uses the nvram variable "et1phyaddr" 
to identify the WL-HDD and this variable is re-created after an erased nvram 
by the bootloader.

I haven't tested on other routers yet, but I don't see why the new S05nvram 
should cause problems.

Cheers,

Dan





More information about the WLANware mailing list