Firmware loading error

HostAP Developer HostAP-developer at
Tue Feb 3 18:57:09 EST 2004

<quote who="Pavel Roskin">
> On Tue, 3 Feb 2004, HostAP Developer wrote:
>> 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.
> [skip],

... but, just so the thread remembers, the pccard is "Zcomax XI-325H 200mW"
... or "SMC2532W-B EliteConnect 200mW Wireless Adapter".

>> ... let's try the flash ...
>> 	[firmware]# prism2_srec -v -f wlan0 pk010101.hex sf010704.hex
> [skip]
>> 	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
> Make sure that prism2_srec is also compiled from the CVS sources.  Make
> sure that you have PRISM2_NON_VOLATILE_DOWNLOAD uncommented in
> driver/modules/hostap_config.h
> Also see the kernel log.  It's displayed by the "dmesg" command.

... prism2_srec is compiled from the same CVS source.
... "tail -f /var/log/dmesg" doesn't show anything...
... dmesg | less  ...shows more! (oops!)

>> ... ooops, what went wrong?  What 'device' is it looking for?
> Maybe -ENODEV was returned by the driver.  There are just 6 places where
> it's returned (not counting the PCI and PLX drivers).  If dmesg doesn't
> show anything useful, you could use binary search to find which function
> returned -ENODEV.
>> ... genesis mode doesn't seem to work either ...
>> 	[firmware]# prism2_srec -gs wlan0 pk010101.hex
>> 	srec summary for pk010101.hex
> That's because genesis mode is RAM download.  You should use
> RAM-downloadable firmware for that.

... so the nonDestructive RAM firmware load actually goes like this:
	[firmware]# prism2_srec -gs wlan0 ak010104.hex
	[firmware]# prism2_srec -gp wlan0 ak010104.hex
	[firmware]# prism2_srec -rp wlan0 rf010800.hex

... and then you get ...
	[firmware]# hostap_diag wlan0
	Host AP driver diagnostics information for 'wlan0'

	NICID: id=0x800c v1.0.0 (PRISM II (2.5) PCMCIA (SST parallel flash))
	PRIID: id=0x0015 v1.1.4
	STAID: id=0x001f v1.8.0 (station firmware)

... kewl ...

> But don't attempt flash download after RAM download - it won't work.

... If I do a RAM download then I should be able to do:
	[firmware]# rmmod hostap_cs
	[firmware]# rmmod hostap
	[firmware]# cardctl eject 0
	[firmware]# cardctl insert 0
... and prism2_srec again right? yup, that works.

How do I "prism2_srec -f" to avoid having to load RAM when I bring the
pccard up again?  ..or should I _not_?

	[firmware]# prism2_srec -vf wlan0 pk010101.hex sf010800.hex

... generates the following dmesg output after pccard reinsert ...
	prism2_download: dl_cmd=3 start_addr=0x00000000 num_areas=5
	wifi0: Could not read download buffer parameters

... still no go.  maybe my pccard is write protected?  should I drill a
hole in the corner to write enable?!? LOL.

Thanks for being so patient while I'm grokking HostAP..

> --
> Regards,
> Pavel Roskin

-- KC Ferguson

More information about the HostAP mailing list