Differences between revisions 33 and 37 (spanning 4 versions)
Revision 33 as of 2009-01-17 16:03:40
Size: 11157
Editor: GeoffSimmons
Comment: State NDIS 5 requirement, wikilink NDIS, add compat DB mirror
Revision 37 as of 2009-03-16 03:32:51
Size: 11722
Editor: anonymous
Comment: converted to 1.6 markup
Deletions are marked like this. Additions are marked like this.
Line 2: Line 2:
||<tablestyle="width: 100%;" style="border: 0px hidden">~-[:DebianWiki/EditorGuide#translation:Translation(s)]: none-~||<style="text-align: right;border: 0px hidden"> (!) [:/Discussion:Discussion]|| ||<tablestyle="width: 100%;" style="border: 0px hidden">~-[[DebianWiki/EditorGuide#translation|Translation(s)]]: none-~||<style="text-align: right;border: 0px hidden"> (!) [[/Discussion|Discussion]]||
Line 6: Line 6:
[[TableOfContents(3)]] <<TableOfContents(3)>>
Line 8: Line 8:
Some vendors do not release hardware specifications and do not provide a Linux driver for their wireless network devices. Some vendors do not release hardware specifications and do not provide a Linux driver for their devices.
Line 10: Line 10:
The [http://ndiswrapper.sourceforge.net/ NDISwrapper] project provides a Linux kernel module that loads and runs Windows kernel API and NDIS ([wiki:WikiPedia:Network_Driver_Interface_Specification Network Driver Interface Specification]) API drivers supplied by the vendors within the Linux kernel. A Windows driver for a wireless network card is then linked to this implementation so that the driver runs natively, as though it is in Windows, without binary emulation. The [[http://ndiswrapper.sourceforge.net/|NDISwrapper]] project provides a Linux kernel module that loads and runs Windows kernel API and NDIS ([[WikiPedia:Network_Driver_Interface_Specification|Network Driver Interface Specification]]) API drivers supplied by the vendors within the Linux kernel. A Windows driver is then linked to this implementation so that the driver runs natively, as though it is in Windows, without binary emulation.
Line 12: Line 12:
NDISwrapper uses Windows XP driver files - which may have been supplied with your hardware - to operate your wireless device. This driver wrapper is ''only'' available for use on the x86 and x86-64 architectures (Debian ["i386"] and [:DebianAMD64:AMD64] ports respectively). NDISwrapper uses Windows XP driver files - which may have been supplied with your hardware - to operate your device. This driver wrapper is ''only'' available for use on the x86 and x86-64 architectures (Debian [[i386]] and [[DebianAMD64|AMD64]] ports respectively).

While NDISwrapper is intended for use with [[WiFi]] devices, it may alternatively be used for other hardware classes, such as Ethernet adapters or USB-to-serial converters. This page assumes use of a wireless LAN device.

<!> 16-bit PC Card (PCMCIA) devices are not supported. WikiPedia:Cardbus devices are supported.
Line 32: Line 36:
Once the module is loaded, [#ndis_driver install a NDIS driver] and [#configure configure your wireless interface]. Once the module is loaded, [[#ndis_driver|install a NDIS driver]] and [[#configure|configure your wireless interface]].
Line 35: Line 39:
<!> The following procedure is only necessary for [:DebianEtch:Etch] systems which require a version of NDISwrapper greater than 1.28. <!> The following procedure is only necessary for [[DebianEtch|Etch]] systems which require a version of NDISwrapper greater than 1.28.
Line 40: Line 44:
 1. Download and compile the NDISwrapper [http://sourceforge.net/project/showfiles.php?group_id=93482 source code].  1. Download and compile the NDISwrapper [[http://sourceforge.net/project/showfiles.php?group_id=93482|source code]].
Line 56: Line 60:
Once the module is loaded, [#ndis_driver install a NDIS driver] and [#configure configure your wireless interface]. Once the module is loaded, [[#ndis_driver|install a NDIS driver]] and [[#configure|configure your wireless interface]].
Line 58: Line 62:
[[Anchor(ndis_driver)]] <<Anchor(ndis_driver)>>
Line 60: Line 64:
{i} '''Windows XP''' drivers are required to be used. NDISwrapper does not support [wiki:WikiPedia:Network_Driver_Interface_Specification NDIS] 6 (Windows Vista) at this time. {i} '''Windows XP''' drivers are required to be used. NDISwrapper does not support [[WikiPedia:Network_Driver_Interface_Specification|NDIS]] 6 (Windows Vista) at this time.
Line 62: Line 66:
You are required to provide the appropriate driver for your device. The first place you should check is the [http://ndiswrapper.sourceforge.net/joomla/index.php?/component/option,com_openwiki/Itemid,33/id,list/ NDISwrapper compatiblity list] ([http://burnthesorbonne.com/?page_id=32 mirror]). It lists many models of wireless devices that are usable with NDISwrapper and the driver that works best. You are required to provide the appropriate driver for your device. The first place you should check is the [[http://ndiswrapper.sourceforge.net/joomla/index.php?/component/option,com_openwiki/Itemid,33/id,list/|NDISwrapper compatibility list]] ([[http://burnthesorbonne.com/?page_id=32|archive 1]], [[http://web.archive.org/web/20080113194857/ndiswrapper.sourceforge.net/joomla/index.php?/component/option,com_openwiki/Itemid,33/id,list/|archive 2]]). It lists many models of wireless devices that are usable with NDISwrapper and the driver that works best.
Line 64: Line 68:
If you can't find it there, the [http://www.linuxant.com/driverloader/drivers.php Linuxant Windows Driver] page has many drivers that work with NDISwrapper. It also has drivers for some 64-bit devices that don't offer native 64-bit drivers on the manufacturer's web page. If you can't find it there, the [[http://www.linuxant.com/driverloader/drivers.php|Linuxant Windows Driver]] page has many drivers that work with NDISwrapper. It also has drivers for some 64-bit devices that don't offer native 64-bit drivers on the manufacturer's web page.
Line 68: Line 72:
The driver you find may be packaged as a ZIP (.zip) archive or in the [wiki:WikiPedia:Portable_Executable Portable Executable] (.exe) format. The .exe file may just be a ZIP archive, you can run the {{{unzip}}} de-archiver (provided by the DebPkg:unzip package) to extract its contents. The driver you find may be packaged as a ZIP (.zip) archive or in the [[WikiPedia:Portable_Executable|Portable Executable]] (.exe) format. The .exe file may just be a ZIP archive, you can run the {{{unzip}}} de-archiver (provided by the DebPkg:unzip package) to extract its contents.
Line 72: Line 76:
If your drivers are within the [wiki:WikiPedia:Cabinet_(file_format) cabinet file format] (.cab), install DebPkg:cabextract and run {{{cabextract}}} on a file of interest, typically named {{{data2.cab}}}. If your drivers are within the [[WikiPedia:Cabinet_(file_format)|cabinet file format]] (.cab), install DebPkg:cabextract and run {{{cabextract}}} on a file of interest, typically named {{{data2.cab}}}.
Line 75: Line 79:
<!> The following procedure is specific to the "Dell Wireless Card 1390" (man: 14e4, dev: 4311) device and is provided as an '''example only'''. Consult the [http://ndiswrapper.sourceforge.net/joomla/index.php?/component/option,com_openwiki/Itemid,33/id,list/ NDISwrapper compatiblity list] ([http://burnthesorbonne.com/?page_id=32 mirror]) for information on your specific device. <!> The following procedure is specific to the "Dell Wireless Card 1390" (man: 14e4, dev: 4311) device and is provided as an '''example only'''. Consult the [[http://ndiswrapper.sourceforge.net/joomla/index.php?/component/option,com_openwiki/Itemid,33/id,list/|NDISwrapper compatibility list]] ([[http://burnthesorbonne.com/?page_id=32|archive 1]], [[http://web.archive.org/web/20080113194857/ndiswrapper.sourceforge.net/joomla/index.php?/component/option,com_openwiki/Itemid,33/id,list/|archive 2]]) for information on your specific device.
Line 97: Line 101:
  * Debian Lenny/5.0: [http://manpages.debian.net/cgi-bin/man.cgi?query=ndiswrapper-1.9&apropos=0&sektion=8&manpath=Debian+Sid&format=html&locale=en ndiswrapper-1.9(8)]
  * Debian Etch/4.0: [http://manpages.debian.net/cgi-bin/man.cgi?query=ndiswrapper-1.9&apropos=0&sektion=8&manpath=Debian+4.0+etch&format=html&locale=en ndiswrapper-1.9(8)]
  * Debian Sarge/3.1: [http://manpages.debian.net/cgi-bin/man.cgi?query=ndiswrapper&apropos=0&sektion=8&manpath=Debian+3.1+sarge&format=html&locale=en ndiswrapper(8)
]
  * Debian Lenny/5.0: [[http://manpages.debian.net/cgi-bin/man.cgi?query=ndiswrapper-1.9&apropos=0&sektion=8&manpath=Debian+Sid&format=html&locale=en|ndiswrapper-1.9(8)]]
  * Debian Etch/4.0: [[http://manpages.debian.net/cgi-bin/man.cgi?query=ndiswrapper-1.9&apropos=0&sektion=8&manpath=Debian+4.0+etch&format=html&locale=en|ndiswrapper-1.9(8)]]
Line 113: Line 116:
[[Anchor(configure)]] <<Anchor(configure)>>
Line 123: Line 126:
 1. [:WiFi/HowToUse:Configure] your wireless interface as appropriate.  1. [[WiFi/HowToUse|Configure]] your wireless interface as appropriate.
Line 145: Line 148:
== External Links ==
 * [http://ndiswrapper.sourceforge.net/ NDISwrapper homepage];
  * [http://ndiswrapper.sourceforge.net/joomla/index.php?/component/option,com_openwiki/Itemid,33/id,list/ NDISwrapper compatibility list]
  * [http://burnthesorbonne.com/?page_id=32 NDISwrapper compatibility list] (Burn the Sorbonne mirror)
  * [http://ndiswrapper.sourceforge.net/joomla/index.php?/component/option,com_openwiki/Itemid,33/ Wiki]
  * irc://irc.freenode.net/#ndiswrapper - ["IRC"] channel

 * NDISwrapper manual pages:
  * Debian Lenny/5.0: [http://manpages.debian.net/cgi-bin/man.cgi?query=ndiswrapper-1.9&apropos=0&sektion=8&manpath=Debian+Sid&format=html&locale=en ndiswrapper-1.9(8)]
  * Debian Etch/4.0: [http://manpages.debian.net/cgi-bin/man.cgi?query=ndiswrapper-1.9&apropos=0&sektion=8&manpath=Debian+4.0+etch&format=html&locale=en ndiswrapper-1.9(8)]
  * Debian Sarge/3.1: [http://manpages.debian.net/cgi-bin/man.cgi?query=ndiswrapper&apropos=0&sektion=8&manpath=Debian+3.1+sarge&format=html&locale=en ndiswrapper(8)]
Line 162: Line 153:
 * [:WiFi/HowToUse: How To use Wifi network adapter]  * [[WiFi/HowToUse|How to use a WiFi interface]]

== External Links ==
 * [[http://ndiswrapper.sourceforge.net/|NDISwrapper homepage]];
  * [[http://ndiswrapper.sourceforge.net/joomla/index.php?/component/option,com_openwiki/Itemid,33/|Wiki]] ([[http://web.archive.org/web/20080113194857/ndiswrapper.sourceforge.net/joomla/index.php?/component/option,com_openwiki/Itemid,33/|Internet Archive]])
   * [[http://ndiswrapper.sourceforge.net/joomla/index.php?/component/option,com_openwiki/Itemid,33/id,list/|NDISwrapper compatibility list]] ([[http://burnthesorbonne.com/?page_id=32|Burn the Sorbonne archive]], [[http://web.archive.org/web/20080113194857/ndiswrapper.sourceforge.net/joomla/index.php?/component/option,com_openwiki/Itemid,33/id,list/|Internet Archive]])
 * NDISwrapper manual pages:
  * Debian Lenny/5.0: [[http://manpages.debian.net/cgi-bin/man.cgi?query=ndiswrapper-1.9&apropos=0&sektion=8&manpath=Debian+Sid&format=html&locale=en|ndiswrapper-1.9(8)]]
  * Debian Etch/4.0: [[http://manpages.debian.net/cgi-bin/man.cgi?query=ndiswrapper-1.9&apropos=0&sektion=8&manpath=Debian+4.0+etch&format=html&locale=en|ndiswrapper-1.9(8)]]
 * irc://irc.freenode.net/ndiswrapper - [[IRC]] channel
Line 164: Line 165:
 . CategoryHardware CategoryHardware | CategoryWireless

Translation(s): none

(!) ?Discussion


NDISwrapper

This page describes how to install NDISwrapper on Debian systems.

Introduction

Some vendors do not release hardware specifications and do not provide a Linux driver for their devices.

The NDISwrapper project provides a Linux kernel module that loads and runs Windows kernel API and NDIS (Network Driver Interface Specification) API drivers supplied by the vendors within the Linux kernel. A Windows driver is then linked to this implementation so that the driver runs natively, as though it is in Windows, without binary emulation.

NDISwrapper uses Windows XP driver files - which may have been supplied with your hardware - to operate your device. This driver wrapper is only available for use on the x86 and x86-64 architectures (Debian i386 and AMD64 ports respectively).

While NDISwrapper is intended for use with WiFi devices, it may alternatively be used for other hardware classes, such as Ethernet adapters or USB-to-serial converters. This page assumes use of a wireless LAN device.

<!> 16-bit PC Card (PCMCIA) devices are not supported. Cardbus devices are supported.

Module Installation

Debian Packages

  1. Install the module-assistant and wireless-tools packages:

    aptitude install module-assistant wireless-tools
  2. Build and install a ndiswrapper-modules-* package for your system:

    m-a prepare
    m-a a-i ndiswrapper
  3. Add ndiswrapper to the list of kernel modules to load at boot:

    echo ndiswrapper >> /etc/modules
  4. Insert the NDISwrapper module into the kernel:

    modprobe ndiswrapper

More information on building the NDISwrapper kernel module is described within /usr/share/doc/ndiswrapper-source/README.Debian.

Once the module is loaded, install a NDIS driver and configure your wireless interface.

From Source

<!> The following procedure is only necessary for Etch systems which require a version of NDISwrapper greater than 1.28.

  1. Install necessary development packages, along with wireless-tools:

    aptitude install build-essential linux-headers-$(uname -r) wireless-tools
  2. Download and compile the NDISwrapper source code. For example, to acquire and build NDISwrapper version 1.53:

    wget http://superb-east.dl.sourceforge.net/sourceforge/ndiswrapper/ndiswrapper-1.53.tar.gz
    tar xvf ndiswrapper-1.53.tar.gz
    cd ndiswrapper-1.53
    make
    su
    make install
  3. Add ndiswrapper to the list of kernel modules to load at boot:

    echo ndiswrapper >> /etc/modules
  4. Insert the NDISwrapper module into the kernel:

    modprobe ndiswrapper

Once the module is loaded, install a NDIS driver and configure your wireless interface.

NDIS Driver

{i} Windows XP drivers are required to be used. NDISwrapper does not support NDIS 6 (Windows Vista) at this time.

You are required to provide the appropriate driver for your device. The first place you should check is the NDISwrapper compatibility list (archive 1, archive 2). It lists many models of wireless devices that are usable with NDISwrapper and the driver that works best.

If you can't find it there, the Linuxant Windows Driver page has many drivers that work with NDISwrapper. It also has drivers for some 64-bit devices that don't offer native 64-bit drivers on the manufacturer's web page.

The final place you should examine is your driver CD or the manufacturer's web page. These often work, but sometimes they're broken or don't offer you full functionality. It's best to go with the ones listed on the NDISwrapper web page.

The driver you find may be packaged as a ZIP (.zip) archive or in the Portable Executable (.exe) format. The .exe file may just be a ZIP archive, you can run the unzip de-archiver (provided by the unzip package) to extract its contents.

Other .exe files may be InstallShield installers or other installer formats. These require the use of utilities such as unshield or orange to extract the contents within.

If your drivers are within the cabinet file format (.cab), install cabextract and run cabextract on a file of interest, typically named data2.cab.

Installation

<!> The following procedure is specific to the "Dell Wireless Card 1390" (man: 14e4, dev: 4311) device and is provided as an example only. Consult the NDISwrapper compatibility list (archive 1, archive 2) for information on your specific device.

  1. Install the unzip package:

    aptitude install unzip
  2. Acquire an archive containing the NDIS driver from Dell's FTP site:

    wget http://ftp.us.dell.com/network/R151517.EXE
  3. Extract its contents:

    unzip -a R151517.EXE
  4. Install the NDIS driver:

    ndiswrapper -i DRIVER/bcmwl5.inf
  5. To verify NDIS driver installation, list the currently installed drivers:

    ndiswrapper -l

    You should receive the following output:

    bcmwl5 : driver installed
            device (14E4:4311) present

Refer to the NDISwrapper manual page for more information:

You can alternatively use ndisgtk to install drivers to the system.

Uninstallation

To remove a previously installed NDIS driver from your system:

ndiswrapper -e <driver>

For example:

ndiswrapper -e bcmwl5

You can alternatively use ndisgtk to uninstall drivers from the system.

Configuration

  1. Verify your device has an available interface:

    iwconfig

    If your interface is not present, physically remove and insert the device, then run iwconfig again.

  2. Raise the interface to activate the radio, for example:

    ifconfig wlan0 up
  3. Configure your wireless interface as appropriate.

Insert / Hotplug

There seems to be a couple different ways documented to enable hotplugging on interfaces. Mentioned in the DebianEtch page on the NDISwrapper wiki is the line allow-hotplug wlan0. The man page for the interfaces file confirms that this is the intended way to enable hotplug. In /etc/hotplug/net.agent, you are directed to include mapping hotplug stanzas in /etc/network/interfaces.

On a Debian 3.1 / Dell Inspiron 1200 system the allow-hotplug entry did not seem to be necessary. The map stanza seemed to be enough, once NDISwrapper was already loaded. YMMV.

See Also


CategoryHardware | CategoryWireless