个人工具

“UbuntuHelp:WifiDocs/Driver/Ndiswrapper”的版本间的差异

来自Ubuntu中文

跳转至: 导航, 搜索
第18行: 第18行:
  
  
  If you do not know the name of the chipset which your wifi card uses, issue the <code><nowiki>lspci</nowiki></code> command in a terminal; it should be listed there. In order to see if your chipset is known to work with the ndiswrapper module, find your card in the list [http://ndiswrapper.sourceforge.net/joomla/index.php?/component/option,com_openwiki/Itemid,33/id,list/ here].
+
If you do not know the name of the chipset which your wifi card uses, issue the <code><nowiki>lspci</nowiki></code> command in a terminal; it should be listed there. In order to see if your chipset is known to work with the ndiswrapper module, find your card in the list [http://ndiswrapper.sourceforge.net/joomla/index.php?/component/option,com_openwiki/Itemid,33/id,list/ here].
  The link may even provide you with useful tips on how to get your specific card to work, as well as providing a link to the working Windows drivers.
+
The link may even provide you with useful tips on how to get your specific card to work, as well as providing a link to the working Windows drivers.
  
 
== Install Necessary Software ==
 
== Install Necessary Software ==
  
  Ubuntu comes with the necessary ndiswrapper module pre-installed, but it needs the ndiswrapper-utils package to get it working. There is also a graphical interface to using ndiswrapper which you can use.
+
Ubuntu comes with the necessary ndiswrapper module pre-installed, but it needs the ndiswrapper-utils package to get it working. There is also a graphical interface to using ndiswrapper which you can use.
  
  NOTE: in Edgy, you must install the ndiswrapper-utils-1.8 package instead of just ndiswrapper-utils. and then proceed with installation using the command ndiswrapper-1.8 instead of ndiswrapper. See https://launchpad.net/distros/ubuntu/+source/ndiswrapper/+bug/59983 for bug report. and https://help.ubuntu.com/community/WifiDocs/Driver/Ndiswrapper/edgy for help installing.
+
NOTE: in Edgy, you must install the ndiswrapper-utils-1.8 package instead of just ndiswrapper-utils. and then proceed with installation using the command ndiswrapper-1.8 instead of ndiswrapper. See https://launchpad.net/distros/ubuntu/+source/ndiswrapper/+bug/59983 for bug report. and https://help.ubuntu.com/community/WifiDocs/Driver/Ndiswrapper/edgy for help installing.
  Note: for Ubuntu 6.06 (Dapper), ndiswrapper-utils is included on the standard installation CD. You can install the package from the CD and skip to section 2.2...
+
Note: for Ubuntu 6.06 (Dapper), ndiswrapper-utils is included on the standard installation CD. You can install the package from the CD and skip to section 2.2...
  
 
=== With Internet access on an Ubuntu computer ===
 
=== With Internet access on an Ubuntu computer ===
第38行: 第38行:
 
=== With Internet access on another computer ===
 
=== With Internet access on another computer ===
  
  If you do not have a working Internet connection, you can use another computer which is connected to the Internet to download the following packages.
+
If you do not have a working Internet connection, you can use another computer which is connected to the Internet to download the following packages.
  
 
==== Edgy Eft (6.10) ====
 
==== Edgy Eft (6.10) ====
    a. [http://packages.ubuntu.com/edgy/misc/ndiswrapper-common]
+
a. [http://packages.ubuntu.com/edgy/misc/ndiswrapper-common]
    a. [http://packages.ubuntu.com/edgy/misc/ndiswrapper-utils-1.8]
+
a. [http://packages.ubuntu.com/edgy/misc/ndiswrapper-utils-1.8]
    a. [http://packages.ubuntu.com/edgy/net/ndisgtk]
+
a. [http://packages.ubuntu.com/edgy/net/ndisgtk]
  
  Copy the appropriate files over to a directory on your Ubuntu computer (e.g. your Home directory) and install them in this order:
+
Copy the appropriate files over to a directory on your Ubuntu computer (e.g. your Home directory) and install them in this order:
  <pre><nowiki>
+
<pre><nowiki>
  sudo dpkg -i ndiswrapper-common_*.deb
+
sudo dpkg -i ndiswrapper-common_*.deb
  sudo dpkg -i ndiswrapper-utils*.deb
+
sudo dpkg -i ndiswrapper-utils*.deb
  sudo dpkg -i --force-depends ndisgtk_*.deb
+
sudo dpkg -i --force-depends ndisgtk_*.deb
  </nowiki></pre>
+
</nowiki></pre>
  
 
<!> ''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.
 
<!> ''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.
  
 
==== Older Releases ====
 
==== Older Releases ====
## For 6.06 Dapper Drake
+
** For 6.06 Dapper Drake
    a. [http://packages.ubuntu.com/dapper/misc/ndiswrapper-utils]
+
a. [http://packages.ubuntu.com/dapper/misc/ndiswrapper-utils]
    a. [http://packages.ubuntu.com/dapper/net/ndisgtk]
+
a. [http://packages.ubuntu.com/dapper/net/ndisgtk]
## For 5.10 Breezy Badger
+
** For 5.10 Breezy Badger
    a. [http://packages.ubuntu.com/breezy/misc/ndiswrapper-utils]
+
a. [http://packages.ubuntu.com/breezy/misc/ndiswrapper-utils]
    a. [http://packages.ubuntu.com/breezy/net/ndisgtk]
+
a. [http://packages.ubuntu.com/breezy/net/ndisgtk]
  
  
  Copy the appropriate files over to a directory on your Ubuntu computer (e.g. your Home directory) and install them in this order:
+
Copy the appropriate files over to a directory on your Ubuntu computer (e.g. your Home directory) and install them in this order:
  
  <pre><nowiki>
+
<pre><nowiki>
  sudo dpkg -i ndiswrapper-utils_*.deb
+
sudo dpkg -i ndiswrapper-utils_*.deb
  </nowiki></pre>
+
</nowiki></pre>
  
  <pre><nowiki>  
+
<pre><nowiki>  
  sudo dpkg -i ndisgtk_*.deb
+
sudo dpkg -i ndisgtk_*.deb
  </nowiki></pre>
+
</nowiki></pre>
  
 
<!> ''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.
 
<!> ''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.
第77行: 第77行:
 
=== Without Internet access ===
 
=== Without Internet access ===
  
  Without an Internet connection, you can still install ndiswrapper-utils from the Desktop CD.  If you installed from that, the repository in which ndiswrapper-utils is found is on the CD, but not within the live session.  You need to boot into your new Ubuntu installation and then reinsert the Desktop CD.  You will be asked if you want to add the packages on the CD to your list of repositories.   
+
Without an Internet connection, you can still install ndiswrapper-utils from the Desktop CD.  If you installed from that, the repository in which ndiswrapper-utils is found is on the CD, but not within the live session.  You need to boot into your new Ubuntu installation and then reinsert the Desktop CD.  You will be asked if you want to add the packages on the CD to your list of repositories.   
  
 
If you installed using the Dapper Alternate CD, those packages except ndisgtk are included on it.
 
If you installed using the Dapper Alternate CD, those packages except ndisgtk are included on it.
第95行: 第95行:
 
=== Set up and install drivers ===
 
=== Set up and install drivers ===
  
  /!\ '''Important:''' Be careful when using the drivers from the CD included with the wireless card. They may work and you can try them, but you could experience kernel crashes and other serious problems if the driver on your CD has not been tested with ndiswrapper.
+
/!\ '''Important:''' Be careful when using the drivers from the CD included with the wireless card. They may work and you can try them, but you could experience kernel crashes and other serious problems if the driver on your CD has not been tested with ndiswrapper.
  
You should download a tested Windows XP driver which is suitable for your card from the ndiswrapper list.  
+
You should download a tested Windows XP driver which is suitable for your card from the ndiswrapper list.  
  
# Open a Terminal ('''Applications''' | '''Accessories''' | '''Terminal'''), type <code><nowiki>lspci</nowiki></code> and press the return/enter key.
+
* Open a Terminal ('''Applications''' | '''Accessories''' | '''Terminal'''), type <code><nowiki>lspci</nowiki></code> and press the return/enter key.
# Look through the output of the <code><nowiki>lspci</nowiki></code> command for an entry for your wireless card.
+
* Look through the output of the <code><nowiki>lspci</nowiki></code> command for an entry for your wireless card.
# Once you have identified your card, note down the contents of the first column, which should look like ''0000:00:0c.0''.
+
* Once you have identified your card, note down the contents of the first column, which should look like ''0000:00:0c.0''.
# Now, type <code><nowiki>lspci -n</nowiki></code> into the Terminal and press return.
+
* Now, type <code><nowiki>lspci -n</nowiki></code> into the Terminal and press return.
# Find the PCI ID for your device. Your device will be referred to in the output of the command by the identifier which you just made a note of, e.g. ''0000:00:0c.0''. The PCI ID will be in the third column of the output and will be in the form ''104c:8400''.
+
* Find the PCI ID for your device. Your device will be referred to in the output of the command by the identifier which you just made a note of, e.g. ''0000:00:0c.0''. The PCI ID will be in the third column of the output and will be in the form ''104c:8400''.
# Retrieve the Windows driver corresponding to your chipset. Use the information you have just found and the ndiswrapper [http://ndiswrapper.sourceforge.net/mediawiki/index.php/list list] to find and download the correct files for your card, or one which is very similar.
+
* Retrieve the Windows driver corresponding to your chipset. Use the information you have just found and the ndiswrapper [http://ndiswrapper.sourceforge.net/mediawiki/index.php/list list] to find and download the correct files for your card, or one which is very similar.
# Unpack the Windows driver by using the unzip, cabextract and/or unshield tools (run from the Terminal), and find the INF file (.INF or .inf extension) and the SYS file (.SYS or .sys extension). You may first need to install ''cabextract'' and ''unshield''.
+
* Unpack the Windows driver by using the unzip, cabextract and/or unshield tools (run from the Terminal), and find the INF file (.INF or .inf extension) and the SYS file (.SYS or .sys extension). You may first need to install ''cabextract'' and ''unshield''.
# If there are multiple INF/SYS files, look in the ndiswrapper [http://ndiswrapper.sourceforge.net/mediawiki/index.php/list list] to see if there are any hints about which of them should be used.
+
* If there are multiple INF/SYS files, look in the ndiswrapper [http://ndiswrapper.sourceforge.net/mediawiki/index.php/list list] to see if there are any hints about which of them should be used.
# Make sure that the INF file, SYS file and any BIN files are all put into one directory.
+
* Make sure that the INF file, SYS file and any BIN files are all put into one directory.
  
 
==== Graphical instructions ====
 
==== Graphical instructions ====
  
  If you chose to install ndisgtk, the graphical interface for ndiswrapper, after installation click on '''System''' | '''Administration''' | '''Windows wireless drivers''' and follow the instructions on-screen. For an idea of what to expect, some screenshots of ndisgtk can be found [http://lxer.com/module/newswire/view/46385/ here].
+
If you chose to install ndisgtk, the graphical interface for ndiswrapper, after installation click on '''System''' | '''Administration''' | '''Windows wireless drivers''' and follow the instructions on-screen. For an idea of what to expect, some screenshots of ndisgtk can be found [http://lxer.com/module/newswire/view/46385/ here].
  
 
==== Command line instructions ====
 
==== Command line instructions ====
第119行: 第119行:
 
In a Terminal, run the following command:
 
In a Terminal, run the following command:
  
  <pre><nowiki>
+
<pre><nowiki>
  sudo ndiswrapper -i ~/drivers/drivername.inf
+
sudo ndiswrapper -i ~/drivers/drivername.inf
  </nowiki></pre>
+
</nowiki></pre>
  
  (assuming the driver is in a directory in your home folder called <code><nowiki>drivers</nowiki></code>, and is named <code><nowiki>drivername.inf</nowiki></code>)
+
(assuming the driver is in a directory in your home folder called <code><nowiki>drivers</nowiki></code>, and is named <code><nowiki>drivername.inf</nowiki></code>)
  
 
ndiswrapper then copies the <code><nowiki>.inf</nowiki></code> and <code><nowiki>sys</nowiki></code> files into <code><nowiki>/etc/ndiswrapper/...</nowiki></code>. Don't forget that the filename you type in is case-sensitive.
 
ndiswrapper then copies the <code><nowiki>.inf</nowiki></code> and <code><nowiki>sys</nowiki></code> files into <code><nowiki>/etc/ndiswrapper/...</nowiki></code>. Don't forget that the filename you type in is case-sensitive.
第129行: 第129行:
 
===== Checking to make sure the driver was installed correctly =====
 
===== Checking to make sure the driver was installed correctly =====
  
  Run the following command from a Terminal:
+
Run the following command from a Terminal:
  <pre><nowiki>
+
<pre><nowiki>
  ndiswrapper -l
+
ndiswrapper -l
  </nowiki></pre>
+
</nowiki></pre>
  
  If the driver is installed correctly, you should see the following output:
+
If the driver is installed correctly, you should see the following output:
  <pre><nowiki>
+
<pre><nowiki>
  Installed ndis drivers:
+
Installed ndis drivers:
  {name of driver}  driver present, hardware present
+
{name of driver}  driver present, hardware present
  </nowiki></pre>
+
</nowiki></pre>
  
  If you don't see this message:
+
If you don't see this message:
  a. Try a different driver such as the drivers for Windows 2000, or another driver matching the PCI ID on the [http://ndiswrapper.sourceforge.net/mediawiki/index.php/List ndiswrapper list].
+
a. Try a different driver such as the drivers for Windows 2000, or another driver matching the PCI ID on the [http://ndiswrapper.sourceforge.net/mediawiki/index.php/List ndiswrapper list].
  a. This document has a [[trouble troubleshooting]] section which may provide an answer.
+
a. This document has a [[trouble troubleshooting]] section which may provide an answer.
  a. Look for additional help. Read HowToGetHelp for more information.
+
a. Look for additional help. Read HowToGetHelp for more information.
  
 
===== Loading the new driver module =====
 
===== Loading the new driver module =====
  
  Open a Terminal and run the following commands:
+
Open a Terminal and run the following commands:
  <pre><nowiki>
+
<pre><nowiki>
  sudo depmod -a
+
sudo depmod -a
  sudo modprobe ndiswrapper
+
sudo modprobe ndiswrapper
  </nowiki></pre>
+
</nowiki></pre>
  
  Then, also in a Terminal, check for error messages:
+
Then, also in a Terminal, check for error messages:
  <pre><nowiki>
+
<pre><nowiki>
  tail /var/log/messages
+
tail /var/log/messages
  </nowiki></pre>
+
</nowiki></pre>
  
  If no errors are given, you should be able to configure the network connection with the Networking tool ('''System''' | '''Administration''' | '''Networking'''). Alternatively, open a Terminal and try the commands <code><nowiki>ifconfig</nowiki></code> and <code><nowiki>iwconfig</nowiki></code>. Your wireless card should hopefully 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 be able to configure the network connection with the Networking tool ('''System''' | '''Administration''' | '''Networking'''). Alternatively, open a Terminal and try the commands <code><nowiki>ifconfig</nowiki></code> and <code><nowiki>iwconfig</nowiki></code>. Your wireless card should hopefully appear with an interface name of ''wlan0''. If it doesn't appear here, then the driver is not working properly.  
  
  During startup, the system will activate the settings kept in the file <code><nowiki>/etc/network/interfaces</nowiki></code>, where the Networking tool saves its settings.  Edit the file by hand if you discover settings with <code><nowiki>iwconfig</nowiki></code> beyond those on offer with the Networking tool.  Also, the ''order'' of the wireless settings can be very important.  If you discover that issuing <code><nowiki>iwconfig</nowiki></code> commands ''in a certain order'' on the command line is necessary, make sure the file asserts the settings in the same order.
+
During startup, the system will activate the settings kept in the file <code><nowiki>/etc/network/interfaces</nowiki></code>, where the Networking tool saves its settings.  Edit the file by hand if you discover settings with <code><nowiki>iwconfig</nowiki></code> beyond those on offer with the Networking tool.  Also, the ''order'' of the wireless settings can be very important.  If you discover that issuing <code><nowiki>iwconfig</nowiki></code> commands ''in a certain order'' on the command line is necessary, make sure the file asserts the settings in the same order.
  
  Test <code><nowiki>/etc/network/interfaces</nowiki></code> by activating and deactivating the wireless network interface from the Terminal, which shows some diagnostic messages:
+
Test <code><nowiki>/etc/network/interfaces</nowiki></code> by activating and deactivating the wireless network interface from the Terminal, which shows some diagnostic messages:
  
  <pre><nowiki>
+
<pre><nowiki>
  sudo ifdown wlan0
+
sudo ifdown wlan0
  sudo ifup wlan0
+
sudo ifup wlan0
  </nowiki></pre>
+
</nowiki></pre>
  
  ''For information on getting WPA to work, read the WPAHowto.''
+
''For information on getting WPA to work, read the WPAHowto.''
  
 
==== Automatically loading at start-up ====
 
==== Automatically loading at start-up ====
  If everything works, you need to tell your system to load the module when the system starts-up. You can either type the following into the Terminal, which will add the proper line to the <code><nowiki>/etc/modules</nowiki></code> file:
+
If everything works, you need to tell your system to load the module when the system starts-up. You can either type the following into the Terminal, which will add the proper line to the <code><nowiki>/etc/modules</nowiki></code> file:
  
  <pre><nowiki>
+
<pre><nowiki>
  sudo ndiswrapper -m
+
sudo ndiswrapper -m
  </nowiki></pre>
+
</nowiki></pre>
  
  or you can add it manually by opening the file with this command:
+
or you can add it manually by opening the file with this command:
  
  In Ubuntu,
+
In Ubuntu,
  
  <pre><nowiki>
+
<pre><nowiki>
  gksudo gedit /etc/modules
+
gksudo gedit /etc/modules
  </nowiki></pre>
+
</nowiki></pre>
  
  In Kubuntu,
+
In Kubuntu,
  
  <pre><nowiki>
+
<pre><nowiki>
  kdesu kate /etc/modules
+
kdesu kate /etc/modules
  </nowiki></pre>
+
</nowiki></pre>
  
  and add the word <code><nowiki>ndiswrapper</nowiki></code> to the end of this file and save it.
+
and add the word <code><nowiki>ndiswrapper</nowiki></code> to the end of this file and save it.
  
 
/!\ It is strongly recommended that you make a backup copy of the <code><nowiki>/etc/modules</nowiki></code> file before manually editing it.
 
/!\ It is strongly recommended that you make a backup copy of the <code><nowiki>/etc/modules</nowiki></code> file before manually editing it.
第226行: 第226行:
 
''This section is based on an ndiswrapper [http://ndiswrapper.sourceforge.net/mediawiki/index.php/InstallDebian wiki page], and was copied from the Ubuntu Forums. The original post can be found [http://ubuntuforums.org/showthread.php?p=601226 here]. Please discuss any problems or errors you experience there.''
 
''This section is based on an ndiswrapper [http://ndiswrapper.sourceforge.net/mediawiki/index.php/InstallDebian wiki page], and was copied from the Ubuntu Forums. The original post can be found [http://ubuntuforums.org/showthread.php?p=601226 here]. Please discuss any problems or errors you experience there.''
  
It is recommended that you first remove any sign of ndiswrapper from your computer. There is a module which installs by default with Ubuntu. To remove this, from a Terminal run the following commands:
+
It is recommended that you first remove any sign of ndiswrapper from your computer. There is a module which installs by default with Ubuntu. To remove this, from a Terminal run the following commands:
  
  <pre><nowiki>
+
<pre><nowiki>
  sudo modprobe -r ndiswrapper  
+
sudo modprobe -r ndiswrapper  
  sudo apt-get --purge remove ndiswrapper-utils  
+
sudo apt-get --purge remove ndiswrapper-utils  
  sudo rm -r /etc/ndiswrapper/  
+
sudo rm -r /etc/ndiswrapper/  
  sudo rm -r /etc/modprobe.d/ndiswrapper
+
sudo rm -r /etc/modprobe.d/ndiswrapper
  sudo rm /lib/modules/$(uname -r)/kernel/drivers/net/ndiswrapper/ndiswrapper.ko
+
sudo rm /lib/modules/$(uname -r)/kernel/drivers/net/ndiswrapper/ndiswrapper.ko
  </nowiki></pre>
+
</nowiki></pre>
  
 
<!> 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.
 
<!> 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.
第240行: 第240行:
 
=== Install kernel headers ===
 
=== Install kernel headers ===
  
  From a Terminal, run:
+
From a Terminal, run:
  <pre><nowiki>
+
<pre><nowiki>
  sudo apt-get install linux-headers-$(uname -r)
+
sudo apt-get install linux-headers-$(uname -r)
  </nowiki></pre>
+
</nowiki></pre>
  
  and run the following for the dependencies:
+
and run the following for the dependencies:
+
 
  <pre><nowiki>
+
<pre><nowiki>
  sudo apt-get install dh-make fakeroot gcc-3.4 build-essential
+
sudo apt-get install dh-make fakeroot gcc-3.4 build-essential
  </nowiki></pre>
+
</nowiki></pre>
  
 
=== Download and unpack the current version ===
 
=== Download and unpack the current version ===
  
  You can find the current version of ndiswrapper [http://sourceforge.net/project/showfiles.php?group_id=93482 here].
+
You can find the current version of ndiswrapper [http://sourceforge.net/project/showfiles.php?group_id=93482 here].
  
  Using the Terminal, change to the directory where you saved the downloaded file and run the following commands:
+
Using the Terminal, change to the directory where you saved the downloaded file and run the following commands:
  
  <pre><nowiki>
+
<pre><nowiki>
  tar xvfz ndiswrapper-[current version].tar.gz  
+
tar xvfz ndiswrapper-[current version].tar.gz  
  cd ndiswrapper-[current version]
+
cd ndiswrapper-[current version]
  </nowiki></pre>
+
</nowiki></pre>
  
With the second command, replace <code><nowiki>[current version]</nowiki></code> with the actual version of the file you downloaded.
+
With the second command, replace <code><nowiki>[current version]</nowiki></code> with the actual version of the file you downloaded.
  
 
=== Install Ndiswrapper ===
 
=== Install Ndiswrapper ===
  
  The most current version of ndiswrapper (since at least version 1.19) can no longer be compiled into a .deb package. There is a way around this, however. Just do the following while in your ndiswrapper directory (see above):
+
The most current version of ndiswrapper (since at least version 1.19) can no longer be compiled into a .deb package. There is a way around this, however. Just do the following while in your ndiswrapper directory (see above):
  
  <pre><nowiki>
+
<pre><nowiki>
  sudo make uninstall
+
sudo make uninstall
  sudo make
+
sudo make
  </nowiki></pre>
+
</nowiki></pre>
  
  It is advised that your run in fakeroot for the following:
+
It is advised that your run in fakeroot for the following:
  <pre><nowiki>
+
<pre><nowiki>
  fakeroot  
+
fakeroot  
  sudo make install
+
sudo make install
  </nowiki></pre>
+
</nowiki></pre>
  
  If any errors occur during these steps, please try installing again. It may be required for you to run in fakeroot during the entire process. When everything has installed without error, return to the [[install install]] section of this document to finish setting up ndiswrapper.
+
If any errors occur during these steps, please try installing again. It may be required for you to run in fakeroot during the entire process. When everything has installed without error, return to the [[install install]] section of this document to finish setting up ndiswrapper.
  
 
=== Build deb packages and install (works only for older versions of ndiswrapper) ===
 
=== Build deb packages and install (works only for older versions of ndiswrapper) ===
第285行: 第285行:
 
<!> 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.  
 
<!> 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:
+
Run the following from the Terminal:
  <pre><nowiki>
+
<pre><nowiki>
  fakeroot debian/rules binary-modules  
+
fakeroot debian/rules binary-modules  
  fakeroot debian/rules binary-utils  
+
fakeroot debian/rules binary-utils  
  cd ..
+
cd ..
  sudo dpkg -i ndiswrapper-modules-[your kernel]_[current version]-1_i386.deb ndiswrapper-utils_[current version]-1_i386.deb
+
sudo dpkg -i ndiswrapper-modules-[your kernel]_[current version]-1_i386.deb ndiswrapper-utils_[current version]-1_i386.deb
  </nowiki></pre>
+
</nowiki></pre>
  
  Now go back to the [[install install]] section of this document to set up and use your newly installed ndiswrapper package.
+
Now go back to the [[install install]] section of this document to set up and use your newly installed ndiswrapper package.
  
 
== Useful Links ==
 
== Useful Links ==

2007年5月24日 (四) 14:20的版本



Using Ndiswrapper (an automated installation for Broadcom 4318 Wireless)

I know it's not usual to direct people from the wiki to a forum but here's the best way to get ndiswapper setup with Network Manager. It's quick and easy and automated, also there is a supportive forum in case you run into issues.

HERE IS the Best Automated ndiswrapper installation I've ever found!


Introduction

Even if your wireless network card does not have a native Linux driver, you may still be able to get it working with ndiswrapper. Ndiswrapper is a Linux module which allows Ubuntu to use the Windows driver for wireless cards (in most cases).

<!> These instructions apply only when using the x86 Alternate CD. If you are running Ubuntu for AMD64, please see HowtoUseNdiswrapperOnAmd64Ubuntu for instructions. These instructions do not apply to Ubuntu for Power PC (PPC) and the Ubuntu Desktop CDs.


If you do not know the name of the chipset which your wifi card uses, issue the lspci command in a terminal; it should be listed there. In order to see if your chipset is known to work with the ndiswrapper module, find your card in the list here. The link may even provide you with useful tips on how to get your specific card to work, as well as providing a link to the working Windows drivers.

Install Necessary Software

Ubuntu comes with the necessary ndiswrapper module pre-installed, but it needs the ndiswrapper-utils package to get it working. There is also a graphical interface to using ndiswrapper which you can use.

NOTE: in Edgy, you must install the ndiswrapper-utils-1.8 package instead of just ndiswrapper-utils. and then proceed with installation using the command ndiswrapper-1.8 instead of ndiswrapper. See https://launchpad.net/distros/ubuntu/+source/ndiswrapper/+bug/59983 for bug report. and https://help.ubuntu.com/community/WifiDocs/Driver/Ndiswrapper/edgy for help installing. Note: for Ubuntu 6.06 (Dapper), ndiswrapper-utils is included on the standard installation CD. You can install the package from the CD and skip to section 2.2...

With Internet access on an Ubuntu computer

If you already have Internet access via some other method while logged into Ubuntu:

1. Ensure the multiverse and universe repositories are enabled; see AddingRepositoriesHowto

2. Install the ndiswrapper and ndisgtk packages from the Ubuntu repositories. If you don't know how to install applications then you can read this guide.

With Internet access on another computer

If you do not have a working Internet connection, you can use another computer which is connected to the Internet to download the following packages.

Edgy Eft (6.10)

a. [1] a. [2] a. [3]

Copy the appropriate files over to a directory on your Ubuntu computer (e.g. your Home directory) and install them in this order:

sudo dpkg -i ndiswrapper-common_*.deb
sudo dpkg -i ndiswrapper-utils*.deb
sudo dpkg -i --force-depends ndisgtk_*.deb

<!> 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.

Older Releases

    • For 6.06 Dapper Drake

a. [4] a. [5]

    • For 5.10 Breezy Badger

a. [6] a. [7]


Copy the appropriate files over to a directory on your Ubuntu computer (e.g. your Home directory) and install them in this order:

sudo dpkg -i ndiswrapper-utils_*.deb
 
sudo dpkg -i ndisgtk_*.deb

<!> 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.

Without Internet access

Without an Internet connection, you can still install ndiswrapper-utils from the Desktop CD. If you installed from that, the repository in which ndiswrapper-utils is found is on the CD, but not within the live session. You need to boot into your new Ubuntu installation and then reinsert the Desktop CD. You will be asked if you want to add the packages on the CD to your list of repositories.

If you installed using the Dapper Alternate CD, those packages except ndisgtk are included on it.

Put the CD into the drive, click System > Administration > Synaptic Package Manager and search for ndis. If you don't know how to install applications, read this guide.

Disable Free Drivers

Dapper comes with the open source bcm43xx driver. 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 to the modprobe blacklist.

echo 'blacklist bcm43xx' | sudo tee -a /etc/modprobe.d/blacklist

(Or just edit the /etc/modprobe.d/blacklist file and add blacklist bcm43xx 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 driver 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.

Anchor(install)

Set up and install drivers

/!\ Important: Be careful when using the drivers from the CD included with the wireless card. They may work and you can try them, but you could experience kernel crashes and other serious problems if the driver on your CD has not been tested with ndiswrapper.

You should download a tested Windows XP driver which is suitable for your card from the ndiswrapper list.

  • Open a Terminal (Applications | Accessories | Terminal), type lspci and press the return/enter key.
  • Look through the output of the lspci command for an entry for your wireless card.
  • Once you have identified your card, note down the contents of the first column, which should look like 0000:00:0c.0.
  • Now, type lspci -n into the Terminal and press return.
  • Find the PCI ID for your device. Your device will be referred to in the output of the command by the identifier which you just made a note of, e.g. 0000:00:0c.0. The PCI ID will be in the third column of the output and will be in the form 104c:8400.
  • Retrieve the Windows driver corresponding to your chipset. Use the information you have just found and the ndiswrapper list to find and download the correct files for your card, or one which is very similar.
  • Unpack the Windows driver by using the unzip, cabextract and/or unshield tools (run from the Terminal), and find the INF file (.INF or .inf extension) and the SYS file (.SYS or .sys extension). You may first need to install cabextract and unshield.
  • If there are multiple INF/SYS files, look in the ndiswrapper list to see if there are any hints about which of them should be used.
  • Make sure that the INF file, SYS file and any BIN files are all put into one directory.

Graphical instructions

If you chose to install ndisgtk, the graphical interface for ndiswrapper, after installation click on System | Administration | Windows wireless drivers and follow the instructions on-screen. For an idea of what to expect, some screenshots of ndisgtk can be found here.

Command line instructions

Install the Windows driver

In a Terminal, run the following command:

sudo ndiswrapper -i ~/drivers/drivername.inf

(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.

Checking to make sure the driver was installed correctly

Run the following command from a Terminal:

ndiswrapper -l

If the driver is installed correctly, you should see the following output:

Installed ndis drivers:
{name of driver}  driver present, hardware present

If you don't see this message: a. Try a different driver such as the drivers for Windows 2000, or another driver matching the PCI ID on the ndiswrapper list. a. This document has a trouble troubleshooting section which may provide an answer. a. Look for additional help. Read HowToGetHelp for more information.

Loading the new driver module

Open a Terminal and run the following commands:

sudo depmod -a
sudo modprobe ndiswrapper

Then, also in a Terminal, check for error messages:

tail /var/log/messages

If no errors are given, you should be able to configure the network connection with the Networking tool (System | Administration | Networking). Alternatively, open a Terminal and try the commands ifconfig and iwconfig. Your wireless card should hopefully appear with an interface name of wlan0. If it doesn't appear here, then the driver is not working properly.

During startup, the system will activate the settings kept in the file /etc/network/interfaces, where the Networking tool saves its settings. Edit the file by hand if you 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

For information on getting WPA to work, read the WPAHowto.

Automatically loading at start-up

If everything works, you need to tell your system to load the module when the system starts-up. You can either type the following into the Terminal, which will add the proper line to the /etc/modules file:

sudo ndiswrapper -m

or you can add it manually by opening the file with this command:

In Ubuntu,

gksudo gedit /etc/modules

In Kubuntu,

kdesu kate /etc/modules

and add the word ndiswrapper to the end of this file and save it.

/!\ It is strongly recommended that you make a backup copy of the /etc/modules file before manually editing it.

Anchor(trouble)

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

Some common errors

  • Tried to install driver from CD-ROM
    • The files need to be on your hard drive, they can not be loaded from the cd-rom
  • Not all files are copied over to the hard drive
    • Not all files from the drive are needed. You basically need a .inf and a .sys file. Some drivers also use a .bin file but there shouldn't be any other file type needed.
  • Too many driver files copied to folder
    • You should only have 1 .inf and 1 .sys file in the directory on your hard drive.
  • Can't get driver.inf file to install - file not found
      • You have to be in the directory where the .inf file is or specify the full path to the file.
  • Another driver loads and binds to the device
      • Sometimes ndiswrapper is used prematurely. There may be a native driver that comes with Ubuntu which is taking the primary driver position and conflicting with ndiswrapper. For more information on this, go to the WifiDocs/WirelessTroubleShootingGuide and view the step on device drivers and ndiswrapper.


Compiling the latest version of ndiswrapper

This section is based on an ndiswrapper wiki page, and was copied from the Ubuntu Forums. The original post can be found here. Please discuss any problems or errors you experience there.

It is recommended that you first remove any sign of ndiswrapper from your computer. There is a module which installs by default with Ubuntu. To remove this, from a Terminal run the following commands:

sudo modprobe -r ndiswrapper 
sudo apt-get --purge remove ndiswrapper-utils 
sudo rm -r /etc/ndiswrapper/ 
sudo rm -r /etc/modprobe.d/ndiswrapper
sudo rm /lib/modules/$(uname -r)/kernel/drivers/net/ndiswrapper/ndiswrapper.ko

<!> 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.

Install kernel headers

From a Terminal, run:

sudo apt-get install linux-headers-$(uname -r)

and run the following for the dependencies:

sudo apt-get install dh-make fakeroot gcc-3.4 build-essential

Download and unpack the current version

You can find the current version of ndiswrapper here.

Using the Terminal, change to the directory where you saved the downloaded file and run the following commands:

tar xvfz ndiswrapper-[current version].tar.gz 
cd ndiswrapper-[current version]

With the second command, replace [current version] with the actual version of the file you downloaded.

Install Ndiswrapper

The most current version of ndiswrapper (since at least version 1.19) can no longer be compiled into a .deb package. There is a way around this, however. Just do the following while in your ndiswrapper directory (see above):

sudo make uninstall
sudo make

It is advised that your run in fakeroot for the following:

fakeroot 
sudo make install

If any errors occur during these steps, please try installing again. It may be required for you to run in fakeroot during the entire process. When everything has installed without error, return to the install install section of this document to finish setting up ndiswrapper.

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 install install section of this document to set up and use your newly installed ndiswrapper package.

Useful Links

The ndiswrapper Wiki

HowtoUseNdiswrapperOnAmd64Ubuntu

WifiDocs