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