Firmware loading error

HostAP Developer HostAP-developer at maxrack.net
Tue Feb 3 08:52:21 EST 2004


I've been lurking here for awhile and I have a question.  I've compiled a
new kernel and HostAP CVS Devel.  All seems to work OK until I try to
flash pccard with new firmware.

So to start with I'm using a Sony VAIO PCG-XG29K notebook and Fedora Core 1.

... `uname -r` gives
	2.4.22-1.2115.nptl.rescueNET.01

... relevant lspci ouput:
	00:0c.0 CardBus bridge: Ricoh Co Ltd RL5c478 (rev 80)
	00:0c.1 CardBus bridge: Ricoh Co Ltd RL5c478 (rev 80)

... Grab an SMC2532W-B 200mW (which shares the same manfid (0xd601,
0x0005) as a "Zcomax XI-325H 200mW").  I modified
/etc/pcmcia/hostap_cs.conf because I'm obsessive compulsive and changed
card definition block for the "Zcomax XI-325H 200mW" like so:

   card "SMC2532W-B EliteConnect 200mW Wireless Adapter"
   version "SMC", "SMC2532W-B EliteConnect Wireless Adapter"
      manfid 0xd601, 0x0005
      bind "hostap_cs"

   # Optional configuration parameters for hostap_cs.o
   module "hostap_cs" opts "channel=3 iw_mode=3 essid=rescueNET-01
ignore_cis_vcc=0"

... service pcmcia restart   [OK]

... insert card ...
	cardmgr[2115]: socket 1: SMC2532W-B EliteConnect 200mW Wireless Adapter
	cardmgr[2115]: executing: 'modprobe hostap'
	cardmgr[2115]: executing: 'modprobe hostap_cs channel=3 iw_mode=3
essid=rescueNET-01 ignore_cis_vcc=0'
	kernel: hostap_cs: CVS (Jouni Malinen <jkmaline at cc.hut.fi>)
	kernel: hostap_cs: Registered netdevice wifi0
	kernel: hostap_cs: index 0x01: Vcc 5.0, irq 10, io 0x0100-0x013f
	kernel: wifi0: NIC: id=0x800c v1.0.0
	kernel: wifi0: PRI: id=0x15 v1.1.0
	kernel: wifi0: STA: id=0x1f v1.4.9
	cardmgr[2115]: executing: './network start wlan0'

... load additional module ...
	[hostap]# modprobe hostap_crypt_wep

... lsmod|grep hostap

	hostap_cs              48404   0  (unused)
	hostap_crypt_wep        4368   0  (unused)
	hostap                103176   0  [hostap_cs hostap_crypt_wep]
	ds                      8712   6  [hostap_cs xirc2ps_cs]
	pcmcia_core            57312   0  [hostap_cs xirc2ps_cs ds yenta_socket]


... everything okee dokee so far, let's try to load firmware ...


... we find and look up the Component ID in the table
... @http://linux.junsun.net/intersil-prism/IDtable.html
	kernel: wifi0: NIC: id=0x800c v1.0.0
... so we are looking for firmwares pkxxxxxx.hex and sfxxxxxx.hex
... current firmware is:
	kernel: wifi0: PRI: id=0x15 v1.1.0
	kernel: wifi0: STA: id=0x1f v1.4.9


... do a test run with prism2_srec -v wlan0 pk010101.hex sf010704.hex

	S3 CRC-16 generation record: start=0x007E17FE len=2 prog=0
	Start address 0x00000000
	srec summary for pk010101.hex
	Component: 0x0015 1.1.1 (primary firmware)
	Supported platforms:
	  0x800c 1.0.0,  0x8013 1.0.0,  0x8017 1.0.0,  0x801b 1.0.0,  0x8022 1.0.0
	Interface compatibility information:
	  role=Supplier variant=1 range=4-4 iface=Primary Firmware-Driver (3)
	  role=Actor    variant=2 range=1-1 iface=Controller-Firmware (2)
	Separate S3 data areas:
	S3 area count: 3
	  addr=0x007E0000..0x007E0B55 (len=2902)
	  addr=0x007E0C00..0x007E151F (len=2336)
	  addr=0x007E17FE..0x007E17FF (len=2)
	Total data length: 5240
	Start address 0x00000000

	S3 CRC-16 generation record: start=0x007E1800 len=65414 prog=1
	Start address 0x00000000
	srec summary for sf010704.hex
	Component: 0x001f 1.7.4 (station firmware)
	Supported platforms:
	  0x800a 1.0.0,  0x800b 1.0.0,  0x800c 1.0.0,  0x800d 1.0.0,  0x8012 1.0.0
	  0x8013 1.0.0,  0x8014 1.0.0,  0x8016 1.0.0,  0x8017 1.0.0,  0x8018 1.0.0
	  0x801a 1.0.0,  0x801b 1.0.0,  0x801c 1.0.0,  0x8021 1.0.0,  0x8022 1.0.0
	  0x8023 1.0.0
	Interface compatibility information:
	  role=Supplier variant=4 range=1-12 iface=Station Firmware-Driver (4)
	  role=Actor    variant=1 range=1-1 iface=Modem-Firmware (1)
	  role=Actor    variant=2 range=1-1 iface=Controller-Firmware (2)
	  role=Actor    variant=1 range=4-4 iface=Primary Firmware-Driver (3)
	Separate S3 data areas:
	S3 area count: 3
	  addr=0x007E1800..0x007EE2DB (len=51932)
	  addr=0x007F0800..0x007F1785 (len=3974)
	  addr=0x007FE000..0x007FECC5 (len=3270)
	Total data length: 59176
	Start address 0x00000000

	Overriding component id and supplied range data using PDA.
	Wireless LAN card information:
	Components:
	  NICID: 0x800c v1.0.0
	  PRIID: 0x0015 v1.1.0
	  STAID: 0x001f v1.4.9
	Interface compatibility information:
	  PRI role=Supplier variant=1 range=1-1 iface=Modem-Firmware (1)
	  PRI role=Supplier variant=2 range=1-1 iface=Controller-Firmware (2)
	  PRI role=Supplier variant=1 range=4-4 iface=Primary Firmware-Driver (3)
	  STA role=Supplier variant=1 range=1-9 iface=Station Firmware-Driver (4)
	  PRI role=Actor    variant=2 range=1-1 iface=Controller-Firmware (2)
	  STA role=Actor    variant=2 range=1-1 iface=Controller-Firmware (2)
	  STA role=Actor    variant=1 range=1-1 iface=Modem-Firmware (1)

	Verifying update compatibility and combining data:
	Plugging PDR 0xffffffff at 0x007e1510 (len=14)
	Plugging PDR 0x0003 at 0x007e14b8 (len=12)
	PDR 0x0003 not found from wlan card PDA. Using default data.
	  len=12: 39 39 53 41 30 31 30 30 30 30 30 30
	Plugging PDR 0x0005 at 0x007e1310 (len=2)
	PDR 0x0005 not found from wlan card PDA. Using default data.
	  len=2: 00 01
	Plugging PDR 0x0006 at 0x007e14f0 (len=10)
	Plugging PDR 0x0007 at 0x007e1504 (len=10)
	Plugging PDR 0x0008 at 0x007e14c4 (len=8)
	Plugging PDR 0x0400 at 0x007e1314 (len=2)
	Plugging PDR 0x0402 at 0x007e131e (len=4)
	PDR 0x0402 not found from wlan card PDA. Using default data.
	  len=4: 73 38 60 12
	Plugging PDR 0x0403 at 0x007e1316 (len=16)
	PDR 0x0403 not found from wlan card PDA. Using default data.
	  len=16: 00 00 00 02 00 80 01 01 73 38 60 12 73 38 60 12
	Plugging PDR 0x0404 at 0x007e1326 (len=10)
	PDR 0x0404 not found from wlan card PDA. Using default data.
	  len=10: 01 00 00 00 00 00 02 7e 01 00
	Plugging PDR 0x0408 at 0x007e1312 (len=2)
	PDR 0x0408 not found from wlan card PDA. Using default data.
	  len=2: 64 00
	Plugging PDR 0x0001 at 0x007e14cc (len=16)
	Plug record length mismatch (PDR=0x0001): 12 != 16
	==> extend from default
	PRI: old iface 1:4-4 new iface 1:4-4
	Plugging PDR 0xffffffff at 0x007ede00 (len=14)
	Plugging PDR 0x0202 at 0x007f11ee (len=100)
	Plugging PDR 0x0203 at 0x007f1252 (len=128)
	Plugging PDR 0x0204 at 0x007f13d2 (len=80)
	Plugging PDR 0x0405 at 0x007f1422 (len=4)
	PDR 0x0405 not found from wlan card PDA. Using default data.
	  len=4: 00 00 00 30
	Plugging PDR 0x0300 at 0x007f1426 (len=28)
	Plugging PDR 0x0301 at 0x007f1442 (len=34)
	Plugging PDR 0x0101 at 0x007f163a (len=6)
	Plugging PDR 0x0103 at 0x007eddc2 (len=12)
	Plugging PDR 0x0104 at 0x007edef8 (len=2)
	Plugging PDR 0x0105 at 0x007f1646 (len=2)
	Plugging PDR 0x0105 at 0x007edf2e (len=2)
	Plugging PDR 0x0105 at 0x007f1742 (len=2)
	Plugging PDR 0x0107 at 0x007eddd0 (len=2)
	Plugging PDR 0x0006 at 0x007edd9c (len=10)
	Plugging PDR 0x0406 at 0x007f16da (len=2)
	PDR 0x0406 not found from wlan card PDA. Using default data.
	  len=2: 64 00
	Plugging PDR 0x0302 at 0x007f146a (len=2)
	PDR 0x0302 not found from wlan card PDA. Using default data.
	  len=2: 12 00
	Plugging PDR 0x0303 at 0x007f146c (len=2)
	PDR 0x0303 not found from wlan card PDA. Using default data.
	  len=2: ff 1f
	Plugging PDR 0x0412 at 0x007edf50 (len=6)
	PDR 0x0412 not found from wlan card PDA. Using default data.
	  len=6: ff ff 02 00 02 00
	Generating CRC-16 (start=0x007e1800, len=65414) at 0x007e17fe
	Allowing S3 overlap due to CRC-16 signature at 0x007e17fe (was: ffff)
	After srec file merge
	S3 area count: 5
	  addr=0x007E0000..0x007E0B55 (len=2902)
	  addr=0x007E0C00..0x007E151F (len=2336)
	  addr=0x007E17FE..0x007EE2DB (len=51934)
	  addr=0x007F0800..0x007F1785 (len=3974)
	  addr=0x007FE000..0x007FECC5 (len=3270)
	Total data length: 64416
	OK.


.
..
... let's try the flash ...
	[1.7.4]# prism2_srec -v -f wlan0 pk010101.hex sf010704.hex
	srec summary for pk010101.hex
	Component: 0x0015 1.1.1 (primary firmware)

	srec summary for sf010704.hex
	Component: 0x001f 1.7.4 (station firmware)


	Verifying update compatibility and combining data:
	Plug record length mismatch (PDR=0x0001): 12 != 16
	==> extend from default
	PRI: old iface 1:4-4 new iface 1:4-4
	Allowing S3 overlap due to CRC-16 signature at 0x007e17fe (was: ffff)
	OK.

	Downloading to non-volatile memory (flash).
	Note! This can take about 30 seconds. Do _not_ remove card during download.
	ioctl[PRISM2_IOCTL_DOWNLOAD]: No such device

	Download failed!



... ooops, what went wrong?  What 'device' is it looking for?


... iwconfig

wifi0     IEEE 802.11b  ESSID:"rescueNET-01"
          Mode:Master  Access Point: 00:00:00:00:00:00  Bit Rate:11Mb/s
          Sensitivity=1/3
          Retry min limit:8   RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:off
          Link Quality:0  Signal level:0  Noise level:0
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

wlan0     IEEE 802.11b  ESSID:"rescueNET-01"
          Mode:Master  Access Point: 00:00:00:00:00:00  Bit Rate:11Mb/s
          Sensitivity=1/3
          Retry min limit:8   RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:off
          Link Quality:0  Signal level:0  Noise level:0
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0




... /var/log/messages
kernel: wifi0: Could not read download buffer parameters


... genesis mode doesn't seem to work either ...
	[1.7.4]# prism2_srec -gs wlan0 pk010101.hex
	srec summary for pk010101.hex
	Component: 0x0015 1.1.1 (primary firmware)


	Verifying update compatibility and combining data:
	Plugging PDR 0400 (NIC configuration): ram16=1 pci=0 (03 00)

	This image is not meant to be downloaded to volatile memory.
	Incompatible update data.






HELP...


Great Project!

Ken Ferguson CIO
@maxrack.net



More information about the HostAP mailing list