The Prism54.org domain redirects here. The old website and drivers are archived at http://lekernel.net/prism54/.
p54 is a driver for Intersil's Prism54 chips series. It supports both older full-MAC devices (with new soft-MAC firmware) and newer soft-MAC devices. It is included in the Linux kernel.
FullMAC PCI / Cardbus devices used to be supported only by the prism54 wireless driver. After Intersil stopped selling these devices in preference for the newer more flexible SoftMAC devices a SoftMAC device driver was required and prism54 did not support them. The p54pci driver now exists and has been present in the kernel for a while. This driver supports both SoftMAC devices and FullMAC devices. The main difference between these devices was the amount of memory which could be used for the firmware. The SoftMAC devices support a smaller amount of memory. Because of this the SoftMAC firmware fits into FullMAC devices's memory. p54pci supports not only PCI / Cardbus but also USB and SPI. Since p54pci supports all devices prism54 supports you will have a conflict. I'm not quite sure how distributions are handling this conflict right now. prism54 was kept around due to claims users may experience issues when using the SoftMAC driver. Time has passed users have not reported issues. If you use prism54 and for whatever reason you cannot use p54pci please let us know! E-mail us at: linux-wireless@vger.kernel.org
Before you can use the hardware, you have to get the the right firmware.
For a complete listing of supported products, see the device list.
There are several different firmwares for different hardware. You have to pick the right one, download, rename to the listed name and put it into the right place… Normally this should be /lib/firmware. However some distributions put firmware in a different place.
please pick the right one for your device from the lists:
card type | required filename | recommended image |
PCI / PCMCIA | isl3886pci | download |
USB 1st generation (ISL3886 + net2280) | isl3886usb | download |
USB 2nd generation (ISL3887) | isl3887usb | download |
SPI / stlc4560 | 3826.arm | Maxi's site |
card type | required filename | older than 2.6.28 | specially for 2.6.28 |
PCI / PCMCIA | isl3886 | download | download |
USB 1st generation (ISL3886 + net2280) | isl3890usb | download | download |
USB 2nd generation (ISL3887) | isl3887usb_bare | download | download |
Steps to installing the right firmware:
1) Identify the type of Intersil/Conexant chipset you have. There are two ways of identifying this.
a) Identifying via lspci/lsusb route. Depending on how your device is connected to your computer it could be either a USB dongle or PCI/PCMCIA/MiniPCI based.
USB owners/users needs to type in “lsusb” (without quotes) and look for the correct line that identifies the vendor or the make of the device. Once that has been identified the VendorID;ProductID needs to be copied and pasted directly into google for further analysis of what other users have reported the USB device has. The VendorID:ProductID goes in the form of XXXX:XXXX, that is the where it needs to be copied and pasted into google.
non-USB owners/users (that is PCI/PCMCIA/MiniPCI/etc based) needs to type in “lspci -nn” (without quotes) and look for the correct line that identifies the vendor or the make of the device. Once that has been identified the VendorID:ProductID needs to be copied and pasted directly into google for further analysis of what other users have reported the PCI based device has. The VendorID:ProductID goes in the form of XXXX:XXXX, that is where it needs to be copied and pasted into google. N.B.: Some owners/users may have tablet based computers “built-in” with prism54 based chipset, your required firmware would be the ones for stlc4560. Examples of these cases maybe the Nokia N800/N810 devices.
b) Identifying via FCC ID for the device. Most devices using radio frequencies usually have stickers/imprints identifying their rights for use. Most of these stickers/imprints will have FCC ID labelling on it which usually goes by the words “FCC ID: XXXXXXXXXXXX”. The FCC has a website. for one to enquire more information specifically for that device and this is also where it comes in handy for the alternative platform users whom wants to find out what sort of chipset is inside the device, etc without having to physically pull the device apart/open.
USB owners/users will find such labels on the physical device itself. It is normally a sticker that is on the outside of the physical device rather than the inside. Once the sticker/label has been found you will need to copy that information and enter it in onto FCC website: https://fjallfoss.fcc.gov/oetcf/eas/reports/GenericSearch.cfm. Once the information has been entered in click “submit” and click on “detail” when the site presents a table. If your device has more than one entry in the table, look for the entry that has the words “original equipment” printed on the same line as “detail” and then click on “detail”. Upon the next table presented by the site click on “internal photos”, this word maybe slightly varied (i.e. shortened, capitalised) but the meaning should be the same. The site will then prompt you a pdf file in which you will need to examine the photos on the various pages and to see which chipset you have. USB second generation owners/users may find their device internal photos denoted as GW3887 printed on the physical chip itself.
non-USB owners/users (that is PCI/PCMCIA/MiniPCI/etc based) needs to look for either a label or an imprint on the physical device itself. PCMCIA owners/users usually have the FCC ID printed on the underside of the PCMCIA card. PCI/MiniPCI owners/users may either find a label or an imprint on the underside of the card or imprint on the top side. Once the sticker/label/imprint has been found you will need to copy that information and enter it in onto FCC website: https://fjallfoss.fcc.gov/oetcf/eas/reports/GenericSearch.cfm. Once the information has been entered in click “submit” and click on “detail” when the site presents a table. If your device has more than one entry in the table, look for the entry that has the words “original equipment” printed on the same line as “detail” and then click on “detail”. Upon the next table presented by the site click on “internal photos”, this word maybe slightly varied (i.e. shortened, capitalised) but the meaning should be the same. The site will then prompt you a pdf file in which you will need to examine the photos on the various pages and to see which chipset you have.
2) Identify your kernel version, this can be done via: uname -r. Owners/users whom use compat-wireless ontop of their kernel needs to find out the dated version of compat-wireless source tarball that was used and compare with the dates for released kernels and their version.
3) Find the correct firmware for your device, first is to compare your kernel version and the kernel versions listed above. There are three choices and obviously you choose the one your kernel version is running on. You then narrow the tables down and look for the way your device connects to the computer. Once you have done that you download the firmware and you rename the filename of the firmware to the filename as required on the site. Once you have done renaming the firmare, you will need to place the renamed firmware into the firmware directory for your distribution. Most linux distributions has their firmware directory set as /lib/firmware and if yours is different you will need to seek approrpriate manuals/support for your distribution.
For example, you have determined your card is PCI based and you have kernel 2.6.35, you simply need to look at the tables “for 2.6.29 kernels and above”, look for PCI/PCMCIA based and download the firmware from the “download” link. Once you have downloaded the firmware (usually the filename of the firmware downloaded from the sites will result with .arm) You need to rename the file to isl3886pci as per required filename from the site. You then place the file “isl3886pci” into /lib/firmware and then reload the p54pci driver. That is to unload the driver (via modprobe -r p54pci or rmmod p54pci) and then load the driver via modprobe p54pci or insmod /path/to/p54pci.ko)
If you have issues with getting the interface to work, you need to check dmesg and to see what is going on. For example, you renamed the filename incorrectly when p54pci requested isl3886pci and you renamed it to isl3886pci.arm, or that you have not placed it into the correct firmware directory for your distribution.
In some cases using the incorrect firmware may result in unusable interface. If you are not sure with what filename that is required for p54pci/p54usb the best way is to reload the driver and to check the last few lines of dmesg.
ID | Chip name | 802.11 b/g | 802.11 a |
1 | Duette3 | yes | yes |
2 | Duette2 | yes | yes |
3 | Frisbee | yes | no |
4 | Crossbow | yes | yes |
5 | Longbow | yes | no |
To enable p54 in the kernel configuration, you must first enable mac80211:
Networking Support ---> Wireless ---> <M> cfg80211 - wireless configuration API <M> Generic IEEE 802.11 Networking Stack (mac80211)
You can then enable p54
Device Drivers ---> [*] Network device support ---> Wireless LAN ---> [*] Wireless LAN (IEEE 802.11) <M> Softmac Prism54 support <M> Prism54 USB support <M> Prism54 PCI support <M> Prism54 SPI (stlc45xx) support
A big thank you to the following people who kindly donated:
who | what | |
Maximilian Engelhardt | (web) interface and storage for almost all p54* firmwares | |
Michael Wu | Dell Wireless 1450 USB adapter | |
Stefan Puch | Netgear WG511v2 PC Card | |
Howard Chu | Creatix CTX714 MiniPCI Combo Card | |
Johannes Berg | Dell Wireless 1450 USB adapter | |
Jörg Albert | rare 5GHz PrismGT MiniPCI Card, Creatix CTX714 MiniPCI Combo Card | |
Sean Young | AMD TS-5500 ES + p54pci PC Card |