home page

openap-ct

prism firmware

openap list archive



tools.collegeterrace.net

prism firmware notes

Warning: you risk permanently damaging your 802.11b card with these instructions. It hasn't happened to me yet, but there is some risk. It is possible to rescue a card with corrupted firmware (search Google for "prism genesis mode") but i have no experience with that.

You may have a need to upgrade the STA firmware on your prism2/2.5/3 based 802.11b card. For example 200mW cards I have seen recently (SMC or Senao/Engenius) had STA firmware version 1.4.9 which doesn't allow automatic detection of WDS (AP-to-AP) links in the HostAP driver that openap-ct uses; therefore units with these cards are unable to join a mesh.

You can see the version of prism firmware on the card by watching the initialization messages printed by the HostAP driver. Look for the message that's something like this:

   wlan0: NIC: id=0x8013 v1.0.0
   wlan0: PRI: id=0x15 v1.1.0
   wlan0: STA: id=0x1f v1.4.9
This example is a card with STA firmware version 1.4.9. It may also be possible to find the firmware versions of the card under Windows but i don't know the exact method.

The first step is to determine to which version of firmware to upgrade, and to obtain that firmware file. I've had success with upgrading cards with 1.4.9 to 1.5.6. The file i used is named sf010506.hex and i obtained a copy from inside the tarball at http://www.red-bean.com/proski/firmware/1.5.6.tar.gz (please let me know if that link becomes broken). To enable downloading the firmware file to the system doing the upgrade, you should post the file on a webserver somewhere, for example http://sloot.collegeterrace.net/prismfw/sf010506.hex if sloot.collegeterrace.net were the right hostname which it's not.

The next step is to obtain a system that has the HostAP driver and it's associated prism2_srec utility built with the proper configuration for permanent upgrading of the card frimware. For convenience, openap-ct is already enabled for this. Remember that any hardware platform that runs openap-ct will work, including the openap-ct bootable floppy on a laptop system.

Here is the step-by-step for upgrading the firmware with an openap-ct system. These notes refer to version openap-ct-2003-06-08 though they may work for later versions as well. (Definitely it will not work for earlier versions.) These instructions assume your system is connected via ethernet to a DHCP server and can access the webserver with the firmware file, which is the easiest method. However if no DHCP server is available it's possible to manually assign an IP address (search the openap-ct readme for "ifconfig br0"). Also if ethernet isn't an option it's possible to be connected instead via wireless to an existing WDS mesh (in case you have a version of STA firmware that won't join a mesh automatically you can manually "wds_add 12:34:56:78:9a:bc" using the MAC ID of a nearby openap-ct system).

  1. Boot up the openap-ct system and wait for a shell prompt (this is a good time to verify the current STA firmware version - watch the messages)
  2. Kill the iw_watch daemon otherwise it might reboot the system while the flashing is taking place and leave the card firmware in a bad state.
    /etc/init.d/iw_watch stop
  3. Download the firmware file from the webserver to the /tmp directory
    cd /tmp
    wget http://sloot.collegeterrace.net/prismfw/sf010506.hex
  4. Run the upgrade utility
    prism2_srec -vvf wlan0 sf010506.hex
    In theory if the upgrade doesn't work for the card it will fail harmlessly. When it does succeed i've found it to be very fast, only a couple of seconds.
  5. Verify the new firmware version, for example by rebooting and watching the messages.

Last updated Friday June 27, 2003