Gentoo Wiki




Support for so-called "softmac" wireless devices is now present in the vanilla kernel sources. The Prism54-based Intersil ISL3886 and ISL3887 chips found on a number of PCI and USB adapters are examples of such devices. You can use lspci or lsusb to find out if you have such a device. For example, I have a Sitecom WL-121 v2 which shows up as:

lazarus ~ # lspci|grep etwork
00:07.0 Network controller: Intersil Corporation ISL3886 [Prism Javelin/Prism Xbow] (rev 01)

This card did not play nice with ndiswrapper, in particular I was unable to connect to any WPA access point. Whilst the p54 driver discussed here is still developmental, I am pleased to say that it does at least work with wpa_supplicant. On the downside it is currently only connecting at 1Mb/s, but it is true that 1>0 ;).

Kernel Configuration

This guide assumes familiarity with manual kernel compilation. See the Gentoo Wiki Kernel page if this is not the case.

I've opted to compile things here as modules, but there's no reason why you can't build them in-kernel if that is your wish.

Linux Kernel Configuration:
Networking  --->
  Wireless  --->
    {M} Improved wireless configuration API
    [ ]   nl80211 new netlink interface support
    -*- Wireless extensions  
    <M> Generic IEEE 802.11 Networking Stack (mac80211)  
    [ ]   Enable debugging output (NEW)  
    {M} Generic IEEE 802.11 Networking Stack  
    [ ]   Enable full debugging output  
    -M-   IEEE 802.11 WEP encryption (802.1x)  
    < >   IEEE 802.11i CCMP support  
    <M>   IEEE 802.11i TKIP encryption  
    <M>   Software MAC add-on to the IEEE 802.11 networking stack
    [ ]     Enable full debugging output
Device Drivers --->
  Network Device support --->
    Wireless LAN
      <M>   Softmac Prism54 support
      < >     Prism54 USB support (NEW)
      < >     Prism54 PCI support (NEW)

The choice of USB or PCI depends on your hardware, and sometimes it is handy to turn on debugging for the Software MAC add-on.


In order for the p54 driver to do anything useful, you will need to get some firmware. This can be got from the Prism54 pages, where you can also find all sorts of other useful information. The relevant firmware should be copied to the /lib/firmware folder and renamed appropriately (eg isl3886 for an ISL3886 based adapter).

lazarus ~ # wget
lazarus ~ # mv /lib/firmware/isl3886


After a reboot if you are lucky then hotplug will have automagically loaded the requisite modules:

lazarus ~ # lsmod
p54pci                  8320  0
p54common               9856  1 p54pci
mac80211               98060  2 p54pci,p54common

If not then you can just do modprobe p54pci to load them now (p54pci will automatically load the others), and so they are loaded in future do:

lazarus ~ # echo p54pci >> /etc/modules.autoload.d/kernel.2.6

iwconfig should show two new interfaces, on my system they are wmaster0 and wlan1. You are now free to configure wlan1 exactly as you like, see the Gentoo Wireless Howto for more information.


Prism54 Project - Providing drivers for the whole range of Prism54 chips, and includes information about the FreeMAC project.

Retrieved from ""

Last modified: Tue, 23 Sep 2008 03:27:00 +0000 Hits: 2,036