Differences between revisions 17 and 18
Revision 17 as of 2014-12-25 16:45:19
Size: 15577
Editor: ?FrancoMartelli
Comment:
Revision 18 as of 2014-12-29 01:44:20
Size: 15459
Editor: GeoffSimmons
Comment: Update homepage link, drop FAQ (HTTP 404).
Deletions are marked like this. Additions are marked like this.
Line 2: Line 2:
~-[[DebianWiki/EditorGuide#translation|Translation(s)]]: English - [[fr/hostap|Français]] -~ ~-[[DebianWiki/EditorGuide#translation|Translation(s)]]: [[fr/hostap|Français]]-~
Line 339: Line 339:
 * http://w1.fi/ - Driver homepage;
  * [[http://w1.fi/cgi-bin/viewcvs.cgi/*checkout*/hostap/FAQ?rev=HEAD&content-type=text/plain|Frequently Asked Questions]]
 * http://w1.fi/hostap-driver.html - Driver homepage

Translation(s): Français


Prism 2/2.5/3 devices (hostap)

This page describes how to enable support for WiFi devices based on Prism 2/2.5/3 chipsets, using the Host AP driver on Debian systems.

Driver

The Host AP driver provides support for Intersil (now Conexant) Prism 2/2.5/3 802.11b wireless LAN chipsets:

  • hostap_cs (supported devices)

    • Supports Prism2/2.5/3-based PC Card devices.
  • hostap_pci (supported devices)

    • Supports Prism2/2.5/3-based devices using a direct PCI interface.
  • hostap_plx (supported devices)

    • Supports Prism2/2.5/3-based PC Card devices using the PLX9052 PCI bridge.

<!> USB devices are not supported, see linux-wlan-ng.

{i} Prism54 802.11g chipsets are supported by the p54 drivers.

The Host AP driver is part the Linux kernel (since version 2.6.14). It was previously packaged for Debian in the hostap-driver source package (removed in 423247). Advantages of this driver include:

  • Master mode operation.
  • Downloading of primary and secondary (aka station) firmware to RAM and flash memory.
  • WPA support (station firmware 1.7.4 or later required).

The driver uses firmware stored in the device's flash memory. As Prism 3 SSF (Small Serial Flash) devices do not have firmware in flash, firmware is required to be downloaded prior to operation.

Installation

The Host AP driver is part of the Linux kernel and included as modules in Debian Linux kernel images.

  1. Install the hostap-utils and wireless-tools packages:

    aptitude install hostap-utils wireless-tools

    Note that installation of hostap-utils will blacklist the orinoco drivers.

  2. If not already performed, connect the device to your system. The necessary kernel module is automatically loaded for supported devices.

  3. Verify your device has an available interface:

    iwconfig
  4. Raise the interface to activate the radio, for example:

    ifconfig wlan0 up
  5. Configure your wireless interface as appropriate. See also firmware.

Troubleshooting

  • Prism 3 SSF devices (e.g. D-Link DWL-650 revision P1, D-Link DWL-520 revision E1) require firmware to be loaded from userspace.

  • WPA support requires station firmware version 1.7.4 or later.

See firmware below.

Firmware

The prism2_srec utility can be used to verify and download firmware images to Prism 2/2.5/3 devices on Linux systems. It is provided in the hostap-utils package.

More information about flashing firmware (with this and other utilities) on these devices can be found in Jun Sun's mini-HOWTO on flashing Intersil Prism chipsets.

Firmware can be acquired from http://linux.junsun.net/intersil-prism/firmware/ and http://www.red-bean.com/~proski/firmware/

Checking

The primary and station (aka secondary) firmware versions on your device can be queried by examining the kernel ring buffer (dmesg(1)):

wifi0: NIC: id=0x800c v1.0.0
wifi0: PRI: id=0x15 v1.1.0
wifi0: STA: id=0x1f v1.4.9

... or by using the hostap_diag utility:

$ su
# hostap_diag wlan0
Host AP driver diagnostics information for 'wlan0'

NICID: id=0x800c v1.0.0 (PRISM II (2.5) PCMCIA (SST parallel flash))
PRIID: id=0x0015 v1.1.0
STAID: id=0x001f v1.4.9 (station firmware)

Prism 3 SSF

Prism 3 SSF (Small Serial Flash) devices require firmware to be provided, as it is not stored in the device's flash memory. The hostap-utils package provides ifupdown(8) hooks for this purpose: fw_primary and fw_secondary.

An example /etc/network/interfaces configuration using these command options:

iface wlan0 inet dhcp
    wpa-ssid foo
    wpa-psk barbazqux
    fw_primary /lib/firmware/pm010102.hex
    fw_secondary /lib/firmware/rf010800.hex

Before the interface is raised, prism2_srec will be called to download the referenced primary and secondary/station firmware images to the device's volatile memory.

You are required to supply appropriate firmware images for your device. Prism 3 firmware can be acquired from http://linux.junsun.net/intersil-prism/firmware/ and http://www.red-bean.com/~proski/firmware/

See also network interface renaming.

Downloading to RAM

{i} The following procedure can be used to transiently upgrade station firmware to version 1.7.4 or later, which is necessary for WPA support.

Primary and station firmware can be downloaded to volatile memory (RAM) during interface configuration (see Prism 3 SSF above). This can also be used on devices with firmware in flash memory, to temporarily upgrade its primary/station firmware until the device loses power.

The /etc/network/if-pre-up.d/hostap-utils script provided by hostap-utils assumes use of a Prism 3 SSF device. A small modification is required to allow station firmware to be downloaded on other Prism 2/2.5/3 devices.

Open /etc/network/if-pre-up.d/hostap-utils in a text editor and comment lines 27 and 30:

load_secondary()
{
#        if ! grep -q pri_only=1 /proc/net/hostap/$1/debug; then
                echo "Downloading secondary (station) firmware $2 to interface $1"
                $PRISM2_SREC -rp $1 $2
#        fi

        return 0
}

Once modified, use the fw_primary and fw_secondary command options. For example, the following /etc/network/interfaces interface definition will download v1.1.4 primary and v1.7.4 secondary/station RAM firmwares to a "Microsoft Wireless Notebook Adapter MN-520" device:

iface wlan0 inet dhcp
    wpa-ssid foo
    wpa-psk barbazquz
    fw_primary /lib/firmware/ak010104.hex
    fw_secondary /lib/firmware/rf010704.hex

After raising the interface (ifup wlan0), you can use hostap_diag to verify current firmware versions in use:

# hostap_diag wlan0
Host AP driver diagnostics information for 'wlan0'

NICID: id=0x800c v1.0.0 (PRISM II (2.5) PCMCIA (SST parallel flash))
PRIID: id=0x0015 v1.1.4
STAID: id=0x001f v1.7.4 (station firmware)

See also network interface renaming.

Downloading to Flash

{i} The following procedure can be used to permanently upgrade station firmware to version 1.7.4 or later, which is necessary for WPA support.

Firmware images can also be downloaded to non-volatile (flash) memory, which will upgrade/downgrade firmware stored on the device. This can be performed via prism2_srec. This is not possible for Prism 3 SSF devices.

<!> Warning: Incorrect use of this utility can render your device inoperable.

This feature requires Host AP non-volatile firmware download support, which is disabled in Debian stock kernel images:

$ grep HOSTAP_FIRMWARE_NVRAM /boot/config-`uname -r`
# CONFIG_HOSTAP_FIRMWARE_NVRAM is not set

See HowToRebuildAnOfficialDebianKernelPackage to build a custom kernel with CONFIG_HOSTAP_FIRMWARE_NVRAM enabled. The specific option to enable can be found within the kernel's configuration:

Device Drivers  --->
 Network device support  --->
  Wireless LAN  --->
   IEEE 802.11 for Host AP (Prism 2/2.5/3 and WEP/TKIP/CCMP)
    Support for downloading firmware images with Host AP driver
     Support for non-volatile firmware download

Once the Host AP driver has non-volatile download support available, execute prism2_srec to download appropriate firmware to your device's flash memory.

<!> As stated in Jun Sun's mini-HOWTO on flashing Intersil Prism chipsets, do not attempt to flash primary firmware without an associated secondary/station firmware.

For example, ensure your supplied files are compatible, then perform a non-volatile download:

# prism2_srec wlan0 pk010101.hex sf010704.hex
srec summary for pk010101.hex
Component: 0x0015 1.1.1 (primary firmware)

srec summary for sf010704.hex
Component: 0x001f 1.7.4 (station firmware)


Verifying update compatibility and combining data:
Plug record length mismatch (PDR=0x0001): 14 != 16
==> extend from default
PRI: old iface 1:4-4 new iface 1:4-4
Allowing S3 overlap due to CRC-16 signature at 0x007e17fe (was: ffff)
OK.

(continue only if the firmware is regarded as compatible, ie. "OK")

# prism2_srec -f wlan0 pk010101.hex sf010704.hex
srec summary for pk010101.hex
Component: 0x0015 1.1.1 (primary firmware)

srec summary for sf010704.hex
Component: 0x001f 1.7.4 (station firmware)


Verifying update compatibility and combining data:
Plug record length mismatch (PDR=0x0001): 14 != 16
==> extend from default
PRI: old iface 1:4-4 new iface 1:4-4
Allowing S3 overlap due to CRC-16 signature at 0x007e17fe (was: ffff)
OK.

Downloading to non-volatile memory (flash).
Note! This can take about 30 seconds. Do _not_ remove card during download.
OK.
Components after download:
  NICID: 0x800c v1.0.0
  PRIID: 0x0015 v1.1.1
  STAID: 0x001f v1.7.4

See also network interface renaming below.

Network interface renaming

You may receive the following message when using prism2_srec against a Host AP interface:

# prism2_srec wlan1 rf010704.hex
srec summary for rf010704.hex
Included file name: RF010704.HEX
Component: 0x001f 1.7.4 (station firmware)

Could not read wlan PDA. This requires PRISM2_DOWNLOAD_SUPPORT definition in
driver/module/hostap_config.h.

As CONFIG_HOSTAP_FIRMWARE is enabled in Debian stock kernels, this is caused by udev's renaming of the kernel-assigned interface to wlan1 (or other interval):

udev: renamed network interface wlan0 to wlan1

... however, /proc/net/hostap/wlan0/ will remain, whereas the Host AP driver utilities will attempt to use /proc/net/hostap/wlan1/ which does not exist. This affects all firmware download operations.

To resolve, edit /etc/udev/rules.d/70-persistent-net.rules and reassign the rules to ensure the relevant Host AP driver is assigned the wlan0 interface. Run udevadm trigger to immediately apply these changes.

Once resolved, use prism2_srec with the wlan0 interface:

# prism2_srec wlan0 rf010704.hex
srec summary for rf010704.hex
Included file name: RF010704.HEX
Component: 0x001f 1.7.4 (station firmware)


Verifying update compatibility and combining data:
OK.

Supported Devices

hostap_cs

The page HowToIdentifyADevice/PC_Card explains how to identify a PC Card device.

The following list was extracted from hostap_cs.conf provided in hostap-driver-0.4.9 (old stable release).

  • 3Com AirConnect PCI 777A
    Addtron AWP-100 11Mbps WLAN Card
    Airvast WL100
    Allied Telesyn AT-WCL452
    ASUS WL-100 8011b WLAN PC Card
    Belkin 802.11b WLAN PCMCIA
    BroMax Freeport 11Mbps WLAN Card
    Buffalo WLI-CF-S11G
    Compaq WL100 11Mb/s WLAN Card
    Compaq WL200
    corega WL PCCL-11
    D-Link DRC-650 11Mbps WLAN Card
    D-Link DWL-650 11Mbps WLAN Card
    D-Link DWL-650 Rev. P1
    EMTAC A2424i 11Mbps WLAN Card
    Fulbond Airbond XI-300B
    Intersil PRISM2 Reference Design 11Mb/s WLAN Card
    Level-One WPC-0100
    Linksys WCF12 Wireless CompactFlash Card
    Linksys WPC11 11Mbps WLAN Card
    Linksys WPC11 Ver 2.5 11Mbps WLAN Card
    Linksys WPC11 Ver 3 11Mbps WLAN Card
    Longshine LCR-8531 11Mbps WLAN PCMCIA CARD
    Microsoft Wireless Notebook Adapter MN-520 1.0.3
    Netgear MA401
    NETGEAR MA401RA
    Philips 802.11b WLAN PCMCIA
    Proxim RangeLAN
    Sagem
    Samsung SWL2000-N 11Mb/s WLAN Card
    SanDisk ConnectPlus
    Senao NL-2011CD PLUS Ext2 Mercury
    Senao SL-2011CD/SL-2011CDPLUS
    SMC 2632W 11Mbps WLAN Card
    SonicWALL Long Range Wireless Card
    U.S. Robotics IEEE 802.11b PC-CARD
    WLAN PRISM PCMCIA CARD 37300P RevB6
    Zcomax XI-325H 200mW
    Z-Com XI300 11Mb/s WLAN Card
    ZoomAir 4100 11Mb/s WLAN Card
    ZyXel Zyair B-101 802.11b WLAN card

hostap_pci

The page HowToIdentifyADevice/PCI explains how to identify a PCI device.

The following list is based on the alias fields of modinfo hostap_pci in Debian 2.6.32 (2.6.32-45) kernel images.

  • PCI: 1260:3872 Intersil Corporation ISL3872 [Prism 3]
    PCI: 1260:3873 Intersil Corporation ISL3874 [Prism 2.5]/ISL3872 [Prism 3]
    PCI: 167D:A000 Samsung Electro-Mechanics Co., Ltd. MagicLAN SWL-2210P 802.11b [Intersil ISL3874]

hostap_plx

The page HowToIdentifyADevice/PCI explains how to identify a PCI device.

The following list is based on the alias fields of modinfo hostap_plx in Debian 2.6.32 (2.6.32-45) kernel images.

  • PCI: 10B7:7770 3Com Corporation 3CRWE777 PCI(PLX) Wireless Adaptor [Airconnect]
    PCI: 111A:1023 Efficient Networks, Inc (Device name unknown)
    PCI: 126C:8030 Northern Telecom (Device name unknown)
    PCI: 1385:4100 Netgear MA301 802.11b Wireless PCI Adapter
    PCI: 1562:0001 Symbol Technologies (Device name unknown)
    PCI: 15E8:0130 National Datacomm Corp Wireless PCI Card
    PCI: 15E8:0131 National Datacomm Corp NCP130A2 Wireless NIC
    PCI: 1638:1100 Standard Microsystems Corp [SMC] SMC2602W EZConnect / Addtron AWA-100 / Eumitcom PCI WL11000
    PCI: 16AB:1100 Global Sun Technology Inc GL24110P
    PCI: 16AB:1101 Global Sun Technology Inc PLX9052 PCMCIA-to-PCI Wireless LAN
    PCI: 16AB:1102 Global Sun Technology Inc PCMCIA-to-PCI Wireless Network Bridge
    PCI: 16AB:1103 Global Sun Technology Inc (Device name unknown)
    PCI: 16EC:3685 U.S. Robotics Wireless Access PCI Adapter Model 022415
    PCI: EC80:EC00 Belkin Corporation F5D6000

See Also


CategoryHardware | CategoryWireless