Apparent firmware download bug
mike-hostap at tiedyenetworks.com
mike-hostap
Fri Feb 13 09:58:12 PST 2004
Jouni,
I've run across an apparent small bug related to firmware updates.
While updating the flash on a card from a linksys wet11 (WMP11?) I first
updated the primary firmware from 1.0.7 to 1.1.0, and apparently this
wiped out the station firmware. HostAP couldn't read it and gave me
'ioctl[PRISM2_IOCTL_HOSTAPD]: No data available'. I then tried downloading
the station firmware (also an update, to 1.8.0), but the prism2_srec
utillity errored out with:
ioctl[PRISM2_IOCTL_HOSTAPD]: No such device
Missing wlan component info
Could not read wlan RIDs
After many attempts with rebooting, genesys mode and ram
firmwares, I finially just killed cardmgr, relaunched it, and that allowed
me to finially download the station firmware and now the card works fine
again. Appended is a complete dump of the whole sequence of events (with
comments) so you can see everything I did and the responses I got. My only
idea WRT cardmgr was that perhaps when my system starts up it sets up
'wlan0' as an ap, sets the essid and channel and some other paramaters.
And so with the card being in the state it was when I started it by hand I
didn't do any of that initalization I just went straight to the flash
download.
Regards,
Mike-
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=
hostap_crypt: registered algorithm 'NULL'
hostap_cs: 0.1.3 - 2004-02-08 (Jouni Malinen <jkmaline at cc.hut.fi>)
hostap_cs: setting Vcc=33 (constant)
hostap_cs: CS_EVENT_CARD_INSERTION
hostap_cs: setting Vcc=50 (from config)
Checking CFTABLE_ENTRY 0x01 (default 0x01)
IO window settings: cfg->io.nwin=1 dflt.io.nwin=1
io->flags = 0x0046, io.base=0x0000, len=64
hostap_cs: index 0x01: Vcc 5.0, irq 10, io 0x0100-0x013f
hostap_cs: Registered netdevice wlan0
prism2_hw_init: initialized in 190 ms
wlan0: trying to read PDA from 0x007f0000: OK
wlan0: NIC: id=0x801b v1.0.0
wlan0: PRI: id=0x15 v1.0.7
wlan0: STA: id=0x1f v1.3.6
wlan0: defaulting to host-based encryption as a workaround for firmware bug
in Host AP mode WEP
wlan0: defaulting to bogus WDS frame as a workaround for firmware bug in Host AP mode WDS
Starting the upgrade process:
# prism2_srec -f wlan0 pk010100.hex
srec summary for pk010100.hex
Component: 0x0015 1.1.0 (primary firmware)
Verifying update compatibility and combining data:
OK.
Downloading to non-volatile memory (flash).
Note! This can take about 30 seconds. Do _not_ remove card during download.
wlan0: NIC: id=0x801b v1.0.0
wlan0: PRI: id=0x15 v1.1.0
wlan0: Card initialized successfully after flash download
OK.
Components after download:
NICID: 0x801b v1.0.0
PRIID: 0x0015 v1.1.0
ioctl[PRISM2_IOCTL_HOSTAPD]: No data available
Then I rebooted the system......
hostap_cs: 0.1.3 - 2004-02-08 (Jouni Malinen <jkmaline at cc.hut.fi>)
cardmgr[48]: + Using /lib/modules/2.4.25-pre6/pcmcia/hostap_cs.o
hostap_cs: index 0x01: Vcc 5.0, irq 10, io 0x0100-0x013f
hostap_cs: Registered netdevice wlan0
wlan0: NIC: id=0x801b v1.0.0
wlan0: PRI: id=0x15 v1.1.0
cardmgr[48]: executing: './network start wlan0'
cardmgr[48]: + usage: /sbin/cardctl command [socket #]
cardmgr[48]: + or /sbin/cardctl [-c configpath] [-f scheme] [-s stab] scheme [name]
cardmgr[48]: + commands: status config ident suspend resume reset eject insert
cardmgr[48]: + ./network: 24: /sbin/ifconfig: not found
Error for wireless request "Set ESSID" (8B1A) :
SET failed on device wlan0 ; Invalid argument.
Error for wireless request "Set Frequency" (8B04) :
SET failed on device wlan0 ; Invalid argument.
wlan0: MAC port 0 enabling failed
wlan0: could not enable MAC port
SIOCSIFFLAGS: No such file or directory
So I tried to download to flash the station firmware and hostap gave me the following:
# prism2_srec -f wlan0 sf010800.hex
srec summary for sf010800.hex
Component: 0x001f 1.8.0 (station firmware)
ioctl[PRISM2_IOCTL_HOSTAPD]: No such device
Missing wlan component info
Could not read wlan RIDs
I tried a bunch of times and with different flags (genesys mode, ram
firwares, etc, but I only got the above). I then killed cardmgr, restarted
it, and attempted again the starion firmware download:
# prism2_srec -f wlan0 sf010800.hex
srec summary for sf010800.hex
Component: 0x001f 1.8.0 (station firmware)
ioctl[PRISM2_IOCTL_HOSTAPD]: No data available
STAID not available (maybe running PRI-only)
ioctl[PRISM2_IOCTL_HOSTAPD]: No data available
ioctl[PRISM2_IOCTL_HOSTAPD]: No data available
Verifying update compatibility and combining data:
OK.
Downloading to non-volatile memory (flash).
Note! This can take about 30 seconds. Do _not_ remove card during download.
wlan0: NIC: id=0x801b v1.0.0
wlan0: PRI: id=0x15 v1.1.0
wlan0: STA: id=0x1f v1.8.0
wlan0: Card initialized successfully after flash download
OK.
Components after download:
NICID: 0x801b v1.0.0
PRIID: 0x0015 v1.1.0
STAID: 0x001f v1.8.0
So that worked... weird...
--
WillitsOnline.Com - Your LOCAL provider of High Speed Internet!
More information about the Hostap
mailing list