Severe problem during download of Firmware makes PCI card useless

Jouni Malinen jkmaline
Sun Nov 2 19:30:48 PST 2003

On Sun, Nov 02, 2003 at 04:37:16PM -0800, Jouni Malinen wrote:

> I will take a look at what would be needed to change the driver to allow
> Genesis-mode operations with corrupted PRI f/w (i.e., continue minimal
> operation mode even if initialization fails).

I added some preliminary code for this. A new module parameter,
no_primary, can be used to allow initialization continue even if the
card initialization times out. This might not be enough for all cases,
but at least it was enough for this particular case.

> I'll try to reproduce this issue by flashing a PCI Prism2.5 card with
> the images you used.. In the mean while, you could also consider
> upgrading the flash with the DOS-based tool. Depending on what get
> corrupted in flash, it might be enough to just write the PRI and STA
> images again. Then again, it is also possible that PDA was corrupted
> and it would also need to be fixed.

I was able to reproduce the issue by downloading the same images. I had
a bit newer versions in the card before doing this, so the results may
in theory be different, but I would assume we have the cards pretty much
in identical state now.

It looks like the PRI image was not completely destroyed, but something
is broken.. Trying to write anything to flash at this point fails.
However, I was able to download another PRI image to RAM using Genesis
mode. Unfortunately, this did not fix flash download, but at least I
could download RAM downloadable STA image afterwards. Thus, the card is
actually working again.

So, the bad news is that I don't yet know how to fix the flash contents.
The good news is that the card can be made to work with RAM downloadable
images. In addition, since I now have one of my cards in the same state,
I have some extra motivation to figure out a way to fix the flash.. ;-)

You can use following steps to get the card into working state using RAM
download (this is of course assuming your card ended up in the same
state than mine):

- update to the latest CVS snapshot
- load hostap_pci with no_primary set: insmod hostap_pci.o no_primary=1
- download volatile primary firmware using Genesis mode; optionally,
  make it persist hardware reset (but not driver unload):
  prism2_srec -gp wlan0 ak010101.hex
- download volatile STA firmware (again, with persist mode):
  prism2_srec -rp wlan0 rf010704.hex

Card should now be in fully operational state (well, apart from flash
download). Please let me know, if this does not work with your card
(include dmesg and prism2_srec output).

Jouni Malinen                                            PGP id EFC895FA

More information about the Hostap mailing list