This is an old revision of the document!
To update the firmware, you'll need prism2_srec from the hostap-utils (and hostap loaded) package; if it's not present on your system, download and compile hostap-utils:
wget http://hostap.epitest.fi/releases/hostap-utils-0.4.7.tar.gz tar -xvzf hostap-utils-0.4.7.tar.gz cd hostap-utils-0.4.7 make
Some Prism2 cards have been restricted to a certain set of channels because of country regulation. You can activate all 14 channels (it may be illegal) with the following commands:
./prism2_srec wlan0 -D > pda; cp pda pda.bak
Edit pda and put 3FFF at offset 0104 (line 24). Finally, download the firmware and flash your card.
If the NIC id is between 0x8002 and 0x8008:
wget http://linux.junsun.net/intersil-prism/firmware/1.5.6/sf010506.hex ./prism2_srec -v -f wlan0 s1010506.hex -P pda
wget http://linux.junsun.net/intersil-prism/firmware/1.7.4/pk010101.hex wget http://linux.junsun.net/intersil-prism/firmware/1.7.4/sf010704.hex ./prism2_srec -v -f wlan0 pk010101.hex sf010704.hex -P pda
You can check your firmware's primary and station version with this command:
# dmesg | grep wifi hostap_cs: Registered netdevice wifi0 wifi0: NIC: id=0x800c v1.0.0 wifi0: PRI: id=0x15 v1.1.1 (primary firmware is 1.1.1) wifi0: STA: id=0x1f v1.7.4 (station firmware is 1.7.4) wifi0: registered netdevice wlan0
# hostap_diag wlan0 NICID: id=0x800c v1.0.0 (PRISM II (2.5) Mini-PCI (SST parallel flash)) PRIID: id=0x0015 v1.1.1 STAID: id=0x001f v1.7.4 (station firmware)
With WinUpdate, I think you can check it via menu Tools then Query firmware version or somewhere else.
If the NIC id above is between 0x8002 and 0x8008, you have an old Prism2 and MUST use STA firmware version 1.5.6 (s1010506.hex). Otherwise, you should use PRI 1.1.1 / STA 1.7.4 which is the most stable firmware version for newer Prism2 cards. Do NOT use firmware 1.7.1 or 1.8.x, people have reported having trouble with them.
Firmware files are S-record files with .hex (or .HEX) suffix. S-record is a format to denote binary files, including their memory locations, in ASCII format. The base name of the file follows a certain convention. You can find more details in this document.
A image file looks like the following:
pk010004.hex Primary firmware v1.0.4 for NICID 800C, 8013, 8017, 801B. sf010409.hex Station firmware v1.4.9 for NICID 800B, 800C, 800D, 8012, 8013, 8014, 8016, 8017, 8018, 801A, 801B, 801C. s1010409.hex Station firmware v1.4.9 for NICID 8003, 8008.
This document may also help: linux.junsun.net/intersil-prism