Table of Contents
Prism2 flashing
Windows
The simplest is to upgrade the firmware with WinUpdate.
This also requires to have the WPC11 driver v2.5 installed.
Flashing steps
- 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.
Versions
Some example files:
- wpc11v3.0_driver060503_wpa.exe (WPC11v3.0 Driver 060503)
- wpc11v3_driver_utility_053003.exe (WPC11v3 053003)
- wpc11-xp_dr.exe (WPC11 0.29.10a)
- Linksyswpc11drivers.zip (WPC11v3_WPA)
All WPC11 versions including v3 are prism 2. v4 is rtl8180 and we don't know if there are other versions released.
WinUpdate does require a prism 2 driver to recognize the card.
Linux
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/s1010506.hex ./prism2_srec -v -f wlan0 s1010506.hex -P pda
otherwise
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
Recommended firmware
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
or
# 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
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><platform><Version_Major/Minor><Version_Variant>.HEX
- 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.
For example
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
Additional Resources
Here are links to a variety of additional information and resources.
This provides a detailed explanation of how to upgrade the firmware: click here
Brief description of the types of firmware and status of each: old site (no longer working) possible mirror
Table which provides the current mapping of the platform release code IDs with the component ID or IDs: html version or the full document
Source of the firmware files: click here or another set or yet another set