Documente Academic
Documente Profesional
Documente Cultură
NdisWrapper consists of two components: a kernel module and configuration tools. The kernel module
comes as part of the default kernel package, so is installed by default, but you will need to download
and install the configuration tools manually. To do so, using another computer that is already online (or
by switching to Windows XP if you dual-boot), visit the following addresses using a web browser:
http://us.archive.ubuntu.com/ubuntu/pool/main/n/ndiswrapper/ndiswrapper-utils-1.9_1.50-
1ubuntu1_i386.deb
http://us.archive.ubuntu.com/ubuntu/pool/main/n/ndiswrapper/
ndiswrapper-common_1.50-1ubuntu1_all.deb
http://us.archive.ubuntu.com/ubuntu/pool/main/n/ndisgtk/ndisgtk_0.8.3-1_i386.deb
You'll be prompted to download these files. Save the files to a floppy disk or USB memory stick, or
burn them to a blank CD-R/RW disk. Then, on the Ubuntu computer, copy the downloaded files to the
desktop.
Next, open a terminal window (Applications > Accessories > Terminal), and type the following, which
will install the new software:
cd ~/Desktop
sudo dpkg -i ndis*
You'll need to enter your password when prompted. When the commands have finished, and you see
the command prompt again, close the terminal window.
Replace modulename with the name of the module you discovered earlier. For example, on our test
system, we typed the following (as shown in the image):
blacklist rt2500usb
5) Save the file, and then reboot your computer.
You should now find that the wireless network device is no longer visible when you click the
NetworkManager icon, and all you see is a Manual Configuration option. This is good, because it
means the hardware no longer has a driver attached, and you can now tell NdisWrapper to use the
hardware.
The commands listed above are a general example of how to install a .deb package from the
command line. You need to be in the directory where the files were copied to. If you are new to the
terminal, consider reading BasicCommands.
3. Configuration
3.1. Disable Free Drivers
Firstly, all releases since Ubuntu 6.06 have the open source bcm43xx driver, which was replaced in
8.04 by b43 and b43legacy, see WifiDocs/Driver/bcm43xx. If this driver doesn't work for you, then you
should disable it, because it will conflict with ndiswrapper. To disable it, add blacklist bcm43xx
lines for each driver to the modprobe blacklist.
echo -e "blacklist bcm43xx\nblacklist b43\nblacklist b43legacy\nblacklist ssb" |
sudo tee -a /etc/modprobe.d/blacklist
For Versions 9.04 and Later, the Filename has changed to blacklist.conf
(Or just edit the /etc/modprobe.d/blacklist file and add blacklist bcm43xx,
blacklist b43, blacklist b43legacy and blacklist ssb to the end of the file.) Note:
This only effects what is loaded at startup, so you will have to reboot to have the bcm43xx drivers
disabled. If you have an atheros based card, remember to blacklist not only ath_pci, but also ath_hal,
since ndiswrapper won't work if ath_hal is still loaded.
To get this working with a D-link DWL-G122 USB wireless device, we had to blacklist rt2500usb
as well, then restart. Our big clue came when the device's "Connection Information" kept saying
rt2500usb was the driver even though we had followed all the instructions on this page.
D-Link DWL-G122 USB Wireless device: As of December 2008, Ubuntu 8.10 provides full "out
of the box" support for this device, using the rt73usb driver. In this case, there is no need to use
ndiswrapper at all and there is no need to make any changes to the default
/etc/modprobe.d/blacklist file. After connecting the D-Link USB device, entering the
command lsusb at the shell prompt should return something like this:
Bus 001 Device 002: ID 07d1:3c03 D-Link System DWL-G122 802.11g Adapt
er [ralink rt73]
To check that the driver rt73usb is loaded, enter the command lsmod | grep rt73usb and
check that the output includes a line starting with rt73usb , which means that the driver is loaded.
(assuming the driver is in a directory in your home folder called drivers, and is named
drivername.inf)
ndiswrapper then copies the .inf and sys files into /etc/ndiswrapper/.... Don't forget that
the filename you type in is case-sensitive.
If the driver is installed correctly, you should see the following output:
Installed ndis drivers:
{name of driver} driver present, hardware present
or
{name of driver} : driver installed
device ({Chipset ID}) present
Alternatively, open a Terminal and try the commands ifconfig and iwconfig. Your
wireless card should appear with an interface name of wlan0. If it doesn't appear here, then the
driver is not working properly. If no errors are given, you should now be able to configure the
network connection.
dmesg
tail /etc/var/messages
3.6.3. Configuring Wireless Network Settings using command line
If the above methods did not produce a working Wireless Network connection, you can Edit the
Network Interfaces file by hand and diagnose your network using the command line.
• You can discover settings with iwconfig beyond those on offer with the Networking tool. Also,
the order of the wireless settings can be very important. If you discover that issuing iwconfig
commands in a certain order on the command line is necessary, make sure the file asserts the
settings in the same order.
Test /etc/network/interfaces by activating and deactivating the wireless network interface from
the Terminal, which shows some diagnostic messages:
• sudo ifdown wlan0
sudo ifup wlan0
dmesg
tail /etc/var/messages
Note: During startup, the system will activate the Network Admin settings kept in the
file /etc/network/interfaces, where the Networking tool saves its settings.
For information on getting WPA to work, read the WPAHowto.
In Kubuntu,
• kdesu kate /etc/modules
and add the word ndiswrapper to the end of this file and save it.
nm-applet requires entry in /etc/modules to start ndiswrapper on system startup. However this
setting should be removed if using manual configuration (network-admin), as ndiswrapper will be
started by network-admin alias command in /etc/modprobe.d/ndiswrapper and having the
entry in etc/modules may cause the wireless network driver to not start properly
It is strongly recommended that you make a backup copy of the /etc/modules file before
manually editing it.
4. Troubleshooting
• If you cannot get a working driver, you may want to consider compiling and using the latest
ndiswrapper release. Ubuntu Breezy comes with v1.1, and as of Jan 2006 v1.8 is the stable
release.
• Can not modprobe ndiswrapper, fatal error given.
• This error is usually given when ndiswrapper is compiled and installed. You have a bad
installation or you didn't remove the module that came with Ubuntu. You need to
uninstall ndiswrapper and make sure you remove the ndiswrapper module that came
with Ubuntu. Instructions on how to uninstall ndiswrapper can be found here
• If you cannot connect, make sure eth0 (or any other network interface that may be in use) is
down/deactivated. The command to take eth0 down is:
sudo killall dhclient
sudo ifconfig eth0 down
Before you begin to compile your own ndiswrapper, please note that whenever you update your
kernel you will need to recompile. However, it shouldn't be necessary to remove the previous traces of
ndiswrapper, as detailed above when you reinstall.
• Replace [current version] with the actual version of the file you downloaded.
5.4. Build deb packages and install (works only for older
versions of ndiswrapper)
Please note: This is technically outdated material. However, in certain circumstances it may be
required that you use an older version of ndiswrapper to get your wireless card working. If for some
reason you can not get the above steps working, then download a version before 1.16 for the following
to apply.
• Run the following from the Terminal:
fakeroot debian/rules binary-modules
fakeroot debian/rules binary-utils
cd ..
sudo dpkg -i ndiswrapper-modules-[your kernel]_[current version]-1_i386.deb
ndiswrapper-utils_[current version]-1_i386.deb
Now go back to the Configuration section of this document to set up and use your newly
installed ndiswrapper package.