Differences between revisions 7 and 8
Revision 7 as of 2008-02-12 14:49:07
Size: 3594
Editor: PeMac
Comment:
Revision 8 as of 2008-02-12 20:04:07
Size: 3850
Editor: FranklinPiat
Comment: cleanup and some intructions.
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
## Auto-converted by kwiki2moinmoin v2005-10-07 #language en
Line 4: Line 4:
Some vendors do not release specifications of the hardware or provide a linux driver for their wireless network cards. This project provides a linux kernel module that loads and runs Ndis (Windows network driver API) drivers supplied by the vendors. Some vendors do not release specifications of the hardware, and don't provide a linux driver for their wireless network cards. Ndiswrapper project provides a linux kernel module that loads and runs Ndis (Windows network driver API) drivers supplied by the vendors.
Line 6: Line 6:

See :
 * [http://packages.debian.org/ndiswrapper-common Debian package]
 * http://ndiswrapper.sourceforge.net/
 * [http://ndiswrapper.sourceforge.net/mediawiki/index.php/Main_Page Wiki]
 * [http://ndiswrapper.sourceforge.net/mediawiki/index.php/List Before you buy: card list].
Line 15: Line 9:
Install the module with debian ( provided you have the standard debian kernel ) To download and install ndiswrapper tools and modules with debian ( provided you have the standard debian kernel )
Line 17: Line 11:
{{{ apt-get install module-assistant ndiswrapper-utils ndiswrapper-source }}}  {{{
apt-get install module-assistant ndiswrapper-utils ndiswrapper-source
m-a prepare
m-a update
module-assistant auto-install ndiswrapper
}}} 
Line 19: Line 18:
{{{ m-a prepare }}} You find more instruction in /usr/share/doc/ndiswrapper*/README*
Line 21: Line 20:
{{{ module-assistant auto-install ndiswrapper }}} Assuming you have downloaded the Windows driver in ~/Desktop/Downloads/V11.1.1.0_XP_DRIVERS.ZIP :
 {{{
$mkdir /usr/local/i4965/
$cd /usr/local/i4965/
$unzip -q ~/Desktop/Downloads/V11.1.1.0_XP_DRIVERS.ZIP
$ndiswrapper -i /usr/local/i4965/NETw4x32.INF
}}}
Line 23: Line 28:
It should also work to use the precompiled ndiswrapper-modules-<deb kernel version> that matches your installed kernel version. Kernel 2.6.8-3-686 and ndiswrapper-module-2.6.8-3-686 work well on a Dell Inspirion 1200 and the Dell branded Broadcom BCM4306 802.11b/g Wireless LAN Controller. Let's make sure it's configured :
 {{{
$ndiswrapper -l
installed drivers:
netw4x32 driver installed, hardware (8086:4233) present
}}}
Line 25: Line 35:
You can also You can download the ["deb"] package and then: Then add ndiswrapper in /etc/modules
 {{{
# added ndiswrapper to load XXXXX Network driver.
ndiswrapper
}}}
Line 27: Line 41:
 dpkg -i nameofthefileyoudownloaded.deb You can either reboot you system to get the module loaded... or simply run {{{modprobe ndiswrapper}}} this time ;).

This should be it.
Line 49: Line 65:

__See :__
 * Ndiswrapper : [http://ndiswrapper.sourceforge.net/ Homepage] ; [http://ndiswrapper.sourceforge.net/joomla/index.php?/component/option,com_openwiki/Itemid,33/ Wiki],

["WiFi"]


Some vendors do not release specifications of the hardware, and don't provide a linux driver for their wireless network cards. Ndiswrapper project provides a linux kernel module that loads and runs Ndis (Windows network driver API) drivers supplied by the vendors.

Download the source package and compile it.

To download and install ndiswrapper tools and modules with debian ( provided you have the standard debian kernel )

  • apt-get install module-assistant  ndiswrapper-utils ndiswrapper-source 
    m-a prepare
    m-a update
    module-assistant auto-install ndiswrapper

You find more instruction in /usr/share/doc/ndiswrapper*/README*

Assuming you have downloaded the Windows driver in ~/Desktop/Downloads/V11.1.1.0_XP_DRIVERS.ZIP :

  • $mkdir /usr/local/i4965/ 
    $cd /usr/local/i4965/
    $unzip -q ~/Desktop/Downloads/V11.1.1.0_XP_DRIVERS.ZIP
    $ndiswrapper -i /usr/local/i4965/NETw4x32.INF

Let's make sure it's configured :

  • $ndiswrapper -l
    installed drivers:
    netw4x32                driver installed, hardware (8086:4233) present

Then add ndiswrapper in /etc/modules

  • # added ndiswrapper to load XXXXX Network driver.
    ndiswrapper 

You can either reboot you system to get the module loaded... or simply run modprobe ndiswrapper this time ;).

This should be it.

Configure on insert / Hotplug

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 modifiy /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 (once hotplugging is working for ndiswrapper). 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 :