Differences between revisions 7 and 8
Revision 7 as of 2009-04-03 15:56:21
Size: 15970
Editor: GeoffSimmons
Comment: Grammar fix.
Revision 8 as of 2009-06-07 09:41:59
Size: 15967
Editor: FranklinPiat
Comment: Fix interwiki links
Deletions are marked like this. Additions are marked like this.
Line 37: Line 37:
 1. Install the DebPkg:hostap-utils and DebPkg:wireless-tools packages: {{{  1. Install the DebianPkg:hostap-utils and DebianPkg:wireless-tools packages: {{{
Line 41: Line 41:
 Note that installation of DebPkg:hostap-utils will [[KernelModuleBlacklisting|blacklist]] the [[orinoco]] drivers.  Note that installation of DebianPkg:hostap-utils will [[KernelModuleBlacklisting|blacklist]] the [[orinoco]] drivers.
Line 68: Line 68:
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 DebPkg:hostap-utils package. 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 DebianPkg:hostap-utils package.
Line 93: Line 93:
Prism 3 SSF (Small Serial Flash) devices require firmware to be provided, as it is not stored in the device's flash memory. The DebPkg:hostap-utils package provides [[http://manpages.debian.net/man/8/ifup|ifupdown]] hooks for this purpose: {{{fw_primary}}} and {{{fw_secondary}}}. Prism 3 SSF (Small Serial Flash) devices require firmware to be provided, as it is not stored in the device's flash memory. The DebianPkg:hostap-utils package provides [[DebianMan:8/ifup|ifupdown]] hooks for this purpose: {{{fw_primary}}} and {{{fw_secondary}}}.
Line 115: Line 115:
The {{{/etc/network/if-pre-up.d/hostap-utils}}} script provided by DebPkg: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. The {{{/etc/network/if-pre-up.d/hostap-utils}}} script provided by DebianPkg: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.

Translation(s): none

(!) ?Discussion


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 instead).

{i} These chipsets are alternatively supported by the orinoco and linux-wlan-ng drivers. Prism54 802.11g chipsets are supported by the p54 drivers.

The Host AP driver is included in the mainline kernel since 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 based do not have firmware in flash, firmware is required to be downloaded to these devices prior to operation.

Installation

The Host AP driver is in the mainline Linux kernel since 2.6.14. It is included as modules in Debian kernel images.

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

    aptitude update
    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.
  3. The necessary kernel module should be automatically loaded. If necessary, it can be manually loaded via either:

    modprobe hostap_cs

    or

    modprobe hostap_pci

    or

    modprobe hostap_plx
  4. Verify your device has an available interface:

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

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

Troubleshooting

  • Prism 3 SSF devices (eg. 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):

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 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 (Lenny) or /etc/udev/rules.d/z25_persistent-net.rules (Etch) and reassign the rules to ensure the relevant Host AP driver is assigned the wlan0 interface. Run udevadm trigger (Lenny) or udevtrigger (Etch) 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 on Lenny.

  • PCI: 1260:3872 Intersil Corporation Prism 2.5 Wavelan chipset
    PCI: 1260:3873 Intersil Corporation Prism 2.5 Wavelan chipset
    PCI: 167D:A000 Samsung Electro-Mechanics Co., Ltd. IPW2200 miniPCI Wireless

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 on Lenny.

  • 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