Size: 10230
Comment: Migrate content from bcm43xx; various amendments.
|
← Revision 68 as of 2020-05-21 11:44:56 ⇥
Size: 6755
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 2: | Line 2: |
~-[[DebianWiki/EditorGuide#translation|Translation(s)]]: [[fr/NdisWrapper|Français]]-~ ---- |
|
Line 4: | Line 6: |
[[TableOfContents(3)]] | <<TableOfContents(2)>> |
Line 6: | Line 10: |
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 8: | Line 12: |
The [http://ndiswrapper.sourceforge.net/ 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 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 10: | Line 14: |
NDISwrapper uses Windows XP driver files - which may have been supplied with your hardware - to operate your wireless device. | 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:PC_Card#CardBus|CardBus]] devices are supported. == Installation Overview == 1. Install the NDISwrapper kernel module and supporting applications. 1. Install the relevant NDIS driver for your device. 1. Configure the wireless interface. |
Line 13: | Line 29: |
=== Debian Packages === ## Note: m-a will download 'ndiswrapper-source' and install the relevant 'ndiswrapper-utils-*' package (during apt's installation of 'ndiswrapper-modules-*', to fulfil package dependencies). You don't need to explicitly install these packages prior to invoking m-a a-i! 1. Install the DebPkg:module-assistant and DebPkg:wireless-tools packages: {{{ aptitude install module-assistant wireless-tools |
## nb. APT installs recommended packages by default since Lenny; ndiswrapper-dkms is included as a result. 1. Install the relevant linux-headers, [[DebianPkg:ndiswrapper-utils-1.9]] and DebianPkg:wireless-tools packages: {{{ # apt-get install linux-headers-$(uname -r|sed 's,[^-]*-[^-]*-,,') ndiswrapper-utils-1.9 wireless-tools |
Line 18: | Line 35: |
1. Build and install a ndiswrapper-modules-* package for your system: {{{ m-a prepare m-a a-i ndiswrapper }}} 1. Add {{{ndiswrapper}}} to the list of kernel modules to load at boot: {{{ echo ndiswrapper >> /etc/modules }}} 1. 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}}}. |
This will also install the recommended DebianPkg:ndiswrapper-dkms package. DKMS will build the NDISwrapper module for your system. |
Line 30: | Line 37: |
Once the module is loaded, [#ndis_driver install a NDIS driver] and [#configure configure your wireless interface]. === From Source === <!> The following procedure is only necessary for [:DebianEtch:Etch] systems which require a version of NDISwrapper greater than 1.28. 1. Install necessary development packages, along with DebPkg:wireless-tools: {{{ aptitude install build-essential linux-headers-$(uname -r) wireless-tools }}} 1. Download and compile the NDISwrapper [http://sourceforge.net/project/showfiles.php?group_id=93482 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 }}} 1. Add {{{ndiswrapper}}} to the list of kernel modules to load at boot: {{{ echo ndiswrapper >> /etc/modules }}} 1. Insert the NDISwrapper module into the kernel: {{{ modprobe ndiswrapper |
1. Add {{{ndiswrapper}}} to the list of kernel modules to load at boot time: {{{ # echo ndiswrapper >> /etc/modules |
Line 54: | Line 41: |
Once the module is loaded, [#ndis_driver install a NDIS driver] and [#configure configure your wireless interface]. | After module installation, [[#ndis|install a NDIS driver]] and [[#configure|configure your wireless interface]]. |
Line 56: | Line 43: |
[[Anchor(ndis_driver)]] | <<Anchor(ndis)>> |
Line 58: | Line 45: |
You are required to provide the appropriate Windows XP 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]. It lists many models of wireless devices that are usable with NDISwrapper and the driver that works best. | {i} '''Windows XP''' drivers are required to be used. NDISwrapper does not support [[WikiPedia:Network_Driver_Interface_Specification|NDIS]] 6.x (Windows Vista/7/8) at this time. |
Line 60: | Line 47: |
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. | You are required to provide the appropriate driver for your device. The first place you should check is the [[http://ndiswrapper.sourceforge.net/|NDISwrapper wiki]]. 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 [[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 64: | Line 53: |
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 a self-extractable {{{.zip}}} inside a [[WikiPedia:Portable_Executable|Portable Executable]] (.exe) format. Such self-extractable .exe are ZIP archive encapsulated inside a .exe, you can run the {{{unzip}}} de-archiver (provided by the DebianPkg:unzip package) to extract its contents. |
Line 66: | Line 55: |
Other .exe files may be !InstallShield installers or other installer formats. These require the use of utilities such as DebPkg:unshield or DebPkg:orange to extract the contents within. | Other .exe files may be !InstallShield installers or other installer formats. These require the use of utilities such as DebianPkg:unshield or DebianPkg:orange to extract the contents within. |
Line 68: | Line 57: |
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 DebianPkg:cabextract and run {{{cabextract}}} on a file of interest, typically named {{{data2.cab}}}. |
Line 71: | Line 60: |
<!> 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] for information on your specific device. | <!> The following procedure is specific to the "Dell Wireless Card 1390" (PCI ID 14e4:4311) device and is provided as an '''example only'''. Consult the [[http://ndiswrapper.sourceforge.net/|NDISwrapper wiki]] for information on your specific device. |
Line 73: | Line 62: |
1. Install the DebPkg:unzip package: {{{ aptitude install unzip |
1. Install the DebianPkg:unzip package: {{{ # apt-get install unzip |
Line 77: | Line 66: |
wget http://ftp.us.dell.com/network/R151517.EXE | # wget http://ftp.us.dell.com/network/R151517.EXE |
Line 80: | Line 69: |
unzip -a R151517.EXE | # unzip -a R151517.EXE |
Line 83: | Line 72: |
ndiswrapper -i DRIVER/bcmwl5.inf | # ndiswrapper -i DRIVER/bcmwl5.inf |
Line 86: | Line 75: |
ndiswrapper -l | # ndiswrapper -l |
Line 92: | Line 81: |
Refer to the NDISwrapper manual page for more information: * 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)] |
Refer to the NDISwrapper manual page for more information: [[DebianMan:8/ndiswrapper-1.9|ndiswrapper-1.9(8)]] |
Line 97: | Line 83: |
You can alternatively use DebPkg:ndisgtk to install drivers to the system. | You can alternatively use DebianPkg:ndisgtk to install drivers to the system. |
Line 101: | Line 87: |
ndiswrapper -e <driver> | # ndiswrapper -e <driver> |
Line 104: | Line 90: |
ndiswrapper -e bcmwl5 | # ndiswrapper -e bcmwl5 |
Line 107: | Line 93: |
You can alternatively use DebPkg:ndisgtk to uninstall drivers from the system. | You can alternatively use DebianPkg:ndisgtk to uninstall drivers from the system. |
Line 109: | Line 95: |
[[Anchor(configure)]] | <<Anchor(configure)>> |
Line 111: | Line 97: |
1. Insert the NDISwrapper module into the kernel: {{{ # modprobe ndiswrapper }}} |
|
Line 112: | Line 102: |
iwconfig | # iwconfig |
Line 114: | Line 104: |
If your interface is not present, physically remove and insert the device, then run {{{iwconfig}}} again. | 1. [[WiFi/HowToUse|Configure]] your wireless interface as appropriate. |
Line 116: | Line 106: |
1. Raise the interface to activate the radio, for example: {{{ ifconfig wlan0 up }}} 1. [:WiFi/HowToUse:Configure] your wireless interface as appropriate. |
== Other Notes == |
Line 121: | Line 108: |
=== Insert / Hotplug === ## Commented due to ndiswrapper being specified in /etc/modules at module installation time -- GeoffSimmons ##According to a !DebianEtch entry on the NDISwrapper wiki, an 'allow-hotplug wlan0' entry in /etc/network/interfaces is about all it takes to get the card to be automatically configured and brought up when inserted (beyond the required steps to configure the card for manually bringing the interface up.) ## ##http://ndiswrapper.sourceforge.net/mediawiki/index.php/InstallDebianEtch ## ##On Sarge this does not appear to be the case. Adding that line does not make hotplug 'just work'. This is most likely due to the lack of an entry for NDISwrapper in /lib/modules/<kernel version>/modules.pcimap. According to the hotplug overview when new hardware is detected the MODULE_DEVICE_TABLE map is consulted to determine which module is responsible for the device. Without that entry or some other help hotplug will not 'just work' for the device. ## ##The easiest workaround is to require the NDISwrapper module at boot so that it is always loaded and ready to claim the hardware. Just add it to the list in /etc/modules. ## ##The most difficult workaround (for many) may be to edit the NDISwrapper source and recompile so that it will make MODULE_DEVICE_TABLE entries for your hardware. ## ##http://www.linuxquestions.org/questions/showthread.php?t=360483 http://sourceforge.net/mailarchive/message.php?msg_id=6713442 ## ##An inbetween workaround may be to modify /etc/hotplug/pci.agent to parse an /etc/hotplug/pci.handmap and have it include the hardware details necessary to load ndiswrapper when your card is inserted, like you can do with usb.handmap. This step and the re-coding are probably best left to the developers which leaves us with /etc/modules. ## 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. |
NDISwrapper only supports managed and ad-hoc device operating modes.<<FootNote([[http://sourceforge.net/apps/mediawiki/ndiswrapper/index.php?title=FAQ#Is_master_mode_or_promiscuous_mode_supported.3F|"Is master mode or promiscuous mode supported?" - NDISwrapper FAQ]])>> |
Line 139: | Line 110: |
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 == * DebianPkg:ndisgtk - a graphical frontend for ndiswrapper * DebianPkg:cabextract - a program to extract Microsoft Cabinet files * DebianPkg:orange - extracts CAB files from self-extracting installers * DebianPkg:unshield - extracts CAB files from !InstallShield installers * [[WiFi/HowToUse|How to use a WiFi interface]] |
Line 142: | Line 118: |
* [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://ndiswrapper.sourceforge.net/joomla/index.php?/component/option,com_openwiki/Itemid,33/ Wiki] * 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)] |
* [[http://ndiswrapper.sourceforge.net/|NDISwrapper homepage]] * NDISwrapper manual pages: [[DebianMan:8/ndiswrapper-1.9|ndiswrapper-1.9(8)]] * [[irc://irc.freenode.net/%23ndiswrapper|#ndiswrapper]] - [[IRC]] channel |
Line 150: | Line 122: |
== See Also == * DebPkg:cabextract - a program to extract Microsoft Cabinet files * DebPkg:orange - extracts CAB files from self-extracting installers * DebPkg:unshield - extracts CAB files from !InstallShield installers * [:WiFi/HowToUse: How To use Wifi network adapter] |
|
Line 156: | Line 123: |
. CategoryHardware | ## This page is referenced from https://www.debian.org/doc/manuals/debian-faq/software.html CategoryHardware | CategoryWireless | CategoryPermalink |
NDISwrapper
This page describes how to install NDISwrapper on Debian systems.
Contents
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.
Installation Overview
- Install the NDISwrapper kernel module and supporting applications.
- Install the relevant NDIS driver for your device.
- Configure the wireless interface.
Module Installation
Install the relevant linux-headers, ndiswrapper-utils-1.9 and wireless-tools packages:
# apt-get install linux-headers-$(uname -r|sed 's,[^-]*-[^-]*-,,') ndiswrapper-utils-1.9 wireless-tools
This will also install the recommended ndiswrapper-dkms package. DKMS will build the NDISwrapper module for your system.
Add ndiswrapper to the list of kernel modules to load at boot time:
# echo ndiswrapper >> /etc/modules
After module installation, install a NDIS driver and configure your wireless interface.
NDIS Driver
Windows XP drivers are required to be used. NDISwrapper does not support NDIS 6.x (Windows Vista/7/8) at this time.
You are required to provide the appropriate driver for your device. The first place you should check is the NDISwrapper wiki. 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 a self-extractable .zip inside a Portable Executable (.exe) format. Such self-extractable .exe are ZIP archive encapsulated inside a .exe, 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" (PCI ID 14e4:4311) device and is provided as an example only. Consult the NDISwrapper wiki for information on your specific device.
Install the unzip package:
# apt-get install unzip
Acquire an archive containing the NDIS driver from Dell's FTP site:
# wget http://ftp.us.dell.com/network/R151517.EXE
Extract its contents:
# unzip -a R151517.EXE
Install the NDIS driver:
# ndiswrapper -i DRIVER/bcmwl5.inf
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: ndiswrapper-1.9(8)
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
Insert the NDISwrapper module into the kernel:
# modprobe ndiswrapper
Verify your device has an available interface:
# iwconfig
Configure your wireless interface as appropriate.
Other Notes
NDISwrapper only supports managed and ad-hoc device operating modes.1
See Also
ndisgtk - a graphical frontend for ndiswrapper
cabextract - a program to extract Microsoft Cabinet files
orange - extracts CAB files from self-extracting installers
unshield - extracts CAB files from InstallShield installers
External Links
NDISwrapper manual pages: ndiswrapper-1.9(8)
#ndiswrapper - IRC channel