This is an old revision of the document!
Table of Contents
The simplest is to upgrade the firmware with WinUpdate.
This also requires to have the WPC11 driver v2.5 installed.
- Plug your card
- Start WinUpdate. If you have only one prism card running, it will detect it. If you have more than one, it allows you to select one to upgrade.
- Pick the right primary and station firmware files. It is safest if you upgrade the companion versions of them together. Some times it is OK to just upgrade station firmware. According to Pavel Roskin, “Upgrading primary firmware without secondary firmware make the card non-functional. That card acts as if it only has primary firmware”. So NEVER NEVER flash primary firmware alone!!!!
- Click “Continue”. It reports current chip information, including current firmware versions, and gives you a chance to cancel. Double-confirm. If it says platform mismatches, most likely you picked the wrong hex files.
- Click “Upgrade”. That is it.
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:
- type can be I (Initial), P (Primary), S (Secondary), or T (Tertiary). Additionally, it can be A (RAM-download primary) or R (RAM-downloadable secondary). Only use files started with 'p' or 's'. Otherwise you may toast your cards!
- platform is a 1-character platform ID, which has to do with your NICID. Refer to the release ID table.
- Version_Major/Minor consists of a 2-character major version and 2-character minor version.
- Version_Variant is a 2-character version variant.
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