个人工具

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

来自Ubuntu中文

跳转至: 导航, 搜索
第1行: 第1行:
 
{{From|https://help.ubuntu.com/community/WifiDocs/Driver/Madwifi}}
 
{{From|https://help.ubuntu.com/community/WifiDocs/Driver/Madwifi}}
 
{{Languages|UbuntuHelp:WifiDocs/Driver/Madwifi}}
 
{{Languages|UbuntuHelp:WifiDocs/Driver/Madwifi}}
 
 
 
 
 
 
== Driver Information ==
 
== Driver Information ==
 
+
* Driver Name: Madwifi
 
+
* Module Name: ath_pci
** Driver Name: Madwifi
+
* Supports: [http://madwifi.org/wiki/Compatibility PCI Devices] with Atheros chipsets
** Module Name: ath_pci
+
** Supports: [http://madwifi.org/wiki/Compatibility PCI Devices] with Atheros chipsets
+
 
{i} There will be usb support in a future release.   
 
{i} There will be usb support in a future release.   
** Project Home Page: http://www.madwifi.org
+
* Project Home Page: http://www.madwifi.org
 
+
 
+
 
== Support Channels ==
 
== Support Channels ==
 
+
* IRC: irc.freenode.com  
** IRC: irc.freenode.com  
+
** Channel: #madwifi
*** Channel: #madwifi
+
* Mailing lists: http://madwifi.org/wiki/Resources
** Mailing lists: http://madwifi.org/wiki/Resources
+
* http://madwifi.org/wiki/UserDocs
** http://madwifi.org/wiki/UserDocs
+
* Ubuntu Forums: http://ubuntuforums.org
** Ubuntu Forums: http://ubuntuforums.org
+
* wiki resources: Self:WifiDocs
** wiki resources: Self:WifiDocs
+
 
+
 
+
 
=== WEP info ===
 
=== WEP info ===
 
+
* When using a shared key, the driver must be modified with this command for it to work <code><nowiki>sudo iwpriv authmode 2</nowiki></code>
** When using a shared key, the driver must be modified with this command for it to work <code><nowiki>sudo iwpriv authmode 2</nowiki></code>
+
 
+
 
+
 
=== WPA info ===
 
=== WPA info ===
 
+
* http://madwifi.org/wiki/UserDocs/802.11i
** http://madwifi.org/wiki/UserDocs/802.11i
+
 
+
 
+
 
== Ubuntu Release Specific Info ==
 
== Ubuntu Release Specific Info ==
 
 
=== Ubuntu 7.10 (Gutsy) ===
 
=== Ubuntu 7.10 (Gutsy) ===
** The Madwifi driver has so far only been updated to include a few bug fixes.
+
* The Madwifi driver has so far only been updated to include a few bug fixes.
 
+
 
=== Ubuntu 7.04 (Feisty) ===
 
=== Ubuntu 7.04 (Feisty) ===
** The wlanconfig tool is now available from the universe repository in the <code><nowiki>madwifi-tools</nowiki></code> package.
+
* The wlanconfig tool is now available from the universe repository in the <code><nowiki>madwifi-tools</nowiki></code> package.
 
+
 
=== Ubuntu 6.10 (Edgy) ===
 
=== Ubuntu 6.10 (Edgy) ===
** The version of Madwifi included in Ubuntu 6.10 was switched to madwifi-ng. So these devices will just work out of the box. Simply install and configure in the Networking control panel.
+
* The version of Madwifi included in Ubuntu 6.10 was switched to madwifi-ng. So these devices will just work out of the box. Simply install and configure in the Networking control panel.
** The wlanconfig tool is not present in Ubuntu 6.10, but there is a [https://launchpad.net/ubuntu/+source/madwifi-tools/1:0.9.2+dfsg-1~edgy1/+build/327859/madwifi-tools backport] package from 7.04 available.
+
* The wlanconfig tool is not present in Ubuntu 6.10, but there is a [https://launchpad.net/ubuntu/+source/madwifi-tools/1:0.9.2+dfsg-1~edgy1/+build/327859/madwifi-tools backport] package from 7.04 available.
 
+
 
=== Ubuntu 6.06 (Dapper) ===
 
=== Ubuntu 6.06 (Dapper) ===
** The version of Madwifi included with Ubuntu 6.06 is madwifi-old. This was considered to be more stable than the new madwifi-ng at the time of release.
+
* The version of Madwifi included with Ubuntu 6.06 is madwifi-old. This was considered to be more stable than the new madwifi-ng at the time of release.
** If you need WPA support then you will need to specify the Madwifi driver interface with wpa_supplicant.
+
* If you need WPA support then you will need to specify the Madwifi driver interface with wpa_supplicant.
 
+
 
=== Ubuntu 5.10 (Breezy) ===
 
=== Ubuntu 5.10 (Breezy) ===
 
+
* Madwifi is part of the breezy release (madwifi-old v .9.6.0). It is inside of the package <code><nowiki>linux-restricted-modules-</nowiki></code>''{kerenl v}''
** Madwifi is part of the breezy release (madwifi-old v .9.6.0). It is inside of the package <code><nowiki>linux-restricted-modules-</nowiki></code>''{kerenl v}''
+
* If a card is inserted and recognized during install then <code><nowiki>linux-restricted-modules-</nowiki></code>''{kernel v}'' will be installed.
** If a card is inserted and recognized during install then <code><nowiki>linux-restricted-modules-</nowiki></code>''{kernel v}'' will be installed.
+
 
+
 
=== Ubuntu Server Edition ===
 
=== Ubuntu Server Edition ===
 
 
See [[UbuntuHelp:Router/Madwifi]] for details: '''do not follow the instructions on how to set the driver up in "master" mode by default.'''
 
See [[UbuntuHelp:Router/Madwifi]] for details: '''do not follow the instructions on how to set the driver up in "master" mode by default.'''
 
 
== Compile Newer Driver ==
 
== Compile Newer Driver ==
 
<!> ''See [[relspec notes sections]] below to add comments and corrections about compiling''
 
<!> ''See [[relspec notes sections]] below to add comments and corrections about compiling''
 
 
=== Madwifi-ng Compile ===
 
=== Madwifi-ng Compile ===
 
 
This howto will install the latest svn snapshot of the madwifi-ng driver for pci devices based on the atheros chipset. The difference between this and the other howtos on madwifi (that I've seen at time of writing this) are the others will update to the latest madwifi-old module and this installs madwifi-ng.
 
This howto will install the latest svn snapshot of the madwifi-ng driver for pci devices based on the atheros chipset. The difference between this and the other howtos on madwifi (that I've seen at time of writing this) are the others will update to the latest madwifi-old module and this installs madwifi-ng.
 
The newer features found in the -ng version can be found [http://www.madwifi.org/wiki/ngFeatures here.]
 
The newer features found in the -ng version can be found [http://www.madwifi.org/wiki/ngFeatures here.]
 
 
This update is not necessary unless
 
This update is not necessary unless
*** your pci device is not working with current version that comes with breezy.
+
# your pci device is not working with current version that comes with breezy.
*** Or you can use if you removed restricted modules to use latest nvidia/fglrx drivers and want to try the new -ng driver.
+
# Or you can use if you removed restricted modules to use latest nvidia/fglrx drivers and want to try the new -ng driver.
*** You build a custom kernel but note these instructions do not include steps to properly make and install when using custom kernel. You will just have to make sure you have correct headers and gcc compiler for the kernel you're using.
+
# You build a custom kernel but note these instructions do not include steps to properly make and install when using custom kernel. You will just have to make sure you have correct headers and gcc compiler for the kernel you're using.
*** Or you just want to try and use the latest driver. It may improve performance or fix an unknown bug or add a feature you've been waiting for.
+
# Or you just want to try and use the latest driver. It may improve performance or fix an unknown bug or add a feature you've been waiting for.
 
+
 
{i} '''Note:''' madwifi does not currently support USB devices with the atheros chipset and the [http://www.madwifi.org/roadmap roadmap] shows it will be sometime before USB support is built into the driver(version 2.0). You can watch progress at www.madwifi.org
 
{i} '''Note:''' madwifi does not currently support USB devices with the atheros chipset and the [http://www.madwifi.org/roadmap roadmap] shows it will be sometime before USB support is built into the driver(version 2.0). You can watch progress at www.madwifi.org
 
 
 
/!\ '''Warning:''' The atheros driver that comes with Breezy is part of the restricted-modules package. This will need to be removed before you can install the latest driver. All modules in this package will be removed and may affect areas such as your graphics driver. If you need to use a module in this package then you will also have to recompile and install that module also. There are howtos on the latest nvidia and fglrx in the [http://ubuntuforums.org/forumdisplay.php?f=100 breezy tips and tricks] section of the form.
 
/!\ '''Warning:''' The atheros driver that comes with Breezy is part of the restricted-modules package. This will need to be removed before you can install the latest driver. All modules in this package will be removed and may affect areas such as your graphics driver. If you need to use a module in this package then you will also have to recompile and install that module also. There are howtos on the latest nvidia and fglrx in the [http://ubuntuforums.org/forumdisplay.php?f=100 breezy tips and tricks] section of the form.
 
 
Here are the modules in the restricted-module package
 
Here are the modules in the restricted-module package
 
 
<pre><nowiki>
 
<pre><nowiki>
 
Currently the following modules are included:
 
Currently the following modules are included:
第91行: 第56行:
 
- ltmodem (Winmodem)
 
- ltmodem (Winmodem)
 
</nowiki></pre>
 
</nowiki></pre>
 
 
==== Preparation ====
 
==== Preparation ====
 
 
You will need a working internet connection to complete this howto.
 
You will need a working internet connection to complete this howto.
 
 
Basic knowledge of moving around in the terminal is required.
 
Basic knowledge of moving around in the terminal is required.
 
Remove the following package if installed:
 
Remove the following package if installed:
第101行: 第63行:
 
sudo apt-get remove --purge linux-restricted-modules-`uname -r`
 
sudo apt-get remove --purge linux-restricted-modules-`uname -r`
 
</nowiki></pre>
 
</nowiki></pre>
 
 
<!> See [[relspc release specific]] notes below for required packages to complete build and install.
 
<!> See [[relspc release specific]] notes below for required packages to complete build and install.
 
 
==== Download ====
 
==== Download ====
 
You can follow the instructions on [http://madwifi.org/wiki/UserDocs/FirstTimeHowTo MADWiFi] if the following method is obsolete.
 
You can follow the instructions on [http://madwifi.org/wiki/UserDocs/FirstTimeHowTo MADWiFi] if the following method is obsolete.
第112行: 第72行:
 
sudo svn checkout http://svn.madwifi.org/trunk madwifi-ng
 
sudo svn checkout http://svn.madwifi.org/trunk madwifi-ng
 
</nowiki></pre>
 
</nowiki></pre>
 
 
move into the directory that was created
 
move into the directory that was created
 
 
<pre><nowiki>
 
<pre><nowiki>
 
cd /usr/src/madwifi-ng
 
cd /usr/src/madwifi-ng
 
</nowiki></pre>
 
</nowiki></pre>
 
 
==== Build ====
 
==== Build ====
 
 
Make sure you are using the same version of gcc to build your MADWiFi driver. If you are using Breezy, you probably should use gcc 3.4.5. A quick way to check the gcc version is
 
Make sure you are using the same version of gcc to build your MADWiFi driver. If you are using Breezy, you probably should use gcc 3.4.5. A quick way to check the gcc version is
 
 
<pre><nowiki>
 
<pre><nowiki>
 
gcc --version
 
gcc --version
 
</nowiki></pre>
 
</nowiki></pre>
 
 
Before you start the command make, a small edit has to be done to a file so driver will make.
 
Before you start the command make, a small edit has to be done to a file so driver will make.
 
 
<pre><nowiki>
 
<pre><nowiki>
 
gksudo gedit Makefile.inc
 
gksudo gedit Makefile.inc
 
</nowiki></pre>
 
</nowiki></pre>
 
 
towards the bottom is a line line that needs to be modified.
 
towards the bottom is a line line that needs to be modified.
 
 
<pre><nowiki>
 
<pre><nowiki>
 
'''COPTS+= -Werror'''
 
'''COPTS+= -Werror'''
第143行: 第94行:
 
</nowiki></pre>
 
</nowiki></pre>
 
{i} This will not affect driver in anyway, it's just something in the way ubuntu built the kernel for breezy which will prevent installing the driver.
 
{i} This will not affect driver in anyway, it's just something in the way ubuntu built the kernel for breezy which will prevent installing the driver.
 
 
Now
 
Now
 
 
<pre><nowiki>
 
<pre><nowiki>
 
sudo make
 
sudo make
 
</nowiki></pre>
 
</nowiki></pre>
 
 
There will be some warnings but you can ignore those. Look for any errors as these will need to be addressed before moving on to next step.
 
There will be some warnings but you can ignore those. Look for any errors as these will need to be addressed before moving on to next step.
 
 
==== Install ====
 
==== Install ====
 
 
<pre><nowiki>
 
<pre><nowiki>
 
sudo make install
 
sudo make install
 
</nowiki></pre>
 
</nowiki></pre>
 
 
You may get this warning
 
You may get this warning
 
 
<pre><nowiki>
 
<pre><nowiki>
 
WARNING:
 
WARNING:
第165行: 第109行:
 
You should consider removing them before you continue, or else you might
 
You should consider removing them before you continue, or else you might
 
experience problems during operation. Remove old modules?
 
experience problems during operation. Remove old modules?
 
 
[l]ist, [r]emove, [i]gnore or e[x]it (l,r,i,[x]) ?
 
[l]ist, [r]emove, [i]gnore or e[x]it (l,r,i,[x]) ?
 
</nowiki></pre>
 
</nowiki></pre>
 
 
You should remove with option r
 
You should remove with option r
 
 
If all goes well your last few lines should look like this.
 
If all goes well your last few lines should look like this.
 
 
<pre><nowiki>
 
<pre><nowiki>
 
(export MODULEPATH=/lib/modules/2.6.15-8-686/net; depmod -ae)
 
(export MODULEPATH=/lib/modules/2.6.15-8-686/net; depmod -ae)
第178行: 第118行:
 
echo "DESTDIR=" >> ./install.log
 
echo "DESTDIR=" >> ./install.log
 
</nowiki></pre>
 
</nowiki></pre>
 
 
==== Insert module ====
 
==== Insert module ====
 
 
<pre><nowiki>
 
<pre><nowiki>
 
sudo modprobe ath_pci
 
sudo modprobe ath_pci
 
</nowiki></pre>
 
</nowiki></pre>
 
 
==== Create the interface ====
 
==== Create the interface ====
 
 
With the new -ng module things work differently. An interface has to be created.
 
With the new -ng module things work differently. An interface has to be created.
 
 
<pre><nowiki>
 
<pre><nowiki>
 
wlanconfig ath0 create wlandev wifi0 wlanmode sta
 
wlanconfig ath0 create wlandev wifi0 wlanmode sta
 
</nowiki></pre>
 
</nowiki></pre>
 
 
You should now have the latest madwifi driver working. Just configure your network and connect.
 
You should now have the latest madwifi driver working. Just configure your network and connect.
 
 
If it does not then try to restart your network
 
If it does not then try to restart your network
 
 
<pre><nowiki>
 
<pre><nowiki>
 
sudo /etc/init.d/networking restart
 
sudo /etc/init.d/networking restart
 
</nowiki></pre>
 
</nowiki></pre>
 
 
or reboot  
 
or reboot  
 
 
 
==== Uninstall ====
 
==== Uninstall ====
 
 
If you want to uninstall this module just move back to the directory where you built it:
 
If you want to uninstall this module just move back to the directory where you built it:
 
 
<pre><nowiki>
 
<pre><nowiki>
 
cd /usr/src/madwifi-ng
 
cd /usr/src/madwifi-ng
 
</nowiki></pre>
 
</nowiki></pre>
 
 
and
 
and
 
 
<pre><nowiki>
 
<pre><nowiki>
 
sudo make uninstall
 
sudo make uninstall
 
</nowiki></pre>
 
</nowiki></pre>
 
 
 
You can discuss problems in [http://ubuntuforums.org/showthread.php?t=105437&highlight=madwifi this forum thread] for Brezy release.
 
You can discuss problems in [http://ubuntuforums.org/showthread.php?t=105437&highlight=madwifi this forum thread] for Brezy release.
 
 
Or you can search for help on the [http://www.madwifi.org/wiki madwifi site]
 
Or you can search for help on the [http://www.madwifi.org/wiki madwifi site]
 
 
 
 
[[Anchor(relspec)]]
 
[[Anchor(relspec)]]
 
=== Compile -ng release-specific notes ===
 
=== Compile -ng release-specific notes ===
 
 
==== Breezy ====
 
==== Breezy ====
** Required packages needed to complete compilation
+
* Required packages needed to complete compilation
**** build-essential
+
** build-essential
**** sharutil
+
** sharutil
**** gcc-3.4
+
** gcc-3.4
**** subversion
+
** subversion
 
+
 
===== User Notes =====
 
===== User Notes =====
 
 
 
 
 
==== Dapper ====
 
==== Dapper ====
** Required packages needed to complete compilation
+
* Required packages needed to complete compilation
**** build-essential
+
** build-essential
**** subversion
+
** subversion
**** sharutil
+
** sharutil
 
+
 
===== User Notes =====
 
===== User Notes =====
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
[[category:CategoryNetworking]] [[category:CategoryDocumentation]] [[category:CategoryNeedsExpansion]]
 
[[category:CategoryNetworking]] [[category:CategoryDocumentation]] [[category:CategoryNeedsExpansion]]
  
 
[[category:UbuntuHelp]]
 
[[category:UbuntuHelp]]

2007年11月30日 (五) 22:22的版本

Driver Information

  • Driver Name: Madwifi
  • Module Name: ath_pci
  • Supports: PCI Devices with Atheros chipsets

{i} There will be usb support in a future release.

Support Channels

WEP info

  • When using a shared key, the driver must be modified with this command for it to work sudo iwpriv authmode 2

WPA info

Ubuntu Release Specific Info

Ubuntu 7.10 (Gutsy)

  • The Madwifi driver has so far only been updated to include a few bug fixes.

Ubuntu 7.04 (Feisty)

  • The wlanconfig tool is now available from the universe repository in the madwifi-tools package.

Ubuntu 6.10 (Edgy)

  • The version of Madwifi included in Ubuntu 6.10 was switched to madwifi-ng. So these devices will just work out of the box. Simply install and configure in the Networking control panel.
  • The wlanconfig tool is not present in Ubuntu 6.10, but there is a backport package from 7.04 available.

Ubuntu 6.06 (Dapper)

  • The version of Madwifi included with Ubuntu 6.06 is madwifi-old. This was considered to be more stable than the new madwifi-ng at the time of release.
  • If you need WPA support then you will need to specify the Madwifi driver interface with wpa_supplicant.

Ubuntu 5.10 (Breezy)

  • Madwifi is part of the breezy release (madwifi-old v .9.6.0). It is inside of the package linux-restricted-modules-{kerenl v}
  • If a card is inserted and recognized during install then linux-restricted-modules-{kernel v} will be installed.

Ubuntu Server Edition

See UbuntuHelp:Router/Madwifi for details: do not follow the instructions on how to set the driver up in "master" mode by default.

Compile Newer Driver

<!> See relspec notes sections below to add comments and corrections about compiling

Madwifi-ng Compile

This howto will install the latest svn snapshot of the madwifi-ng driver for pci devices based on the atheros chipset. The difference between this and the other howtos on madwifi (that I've seen at time of writing this) are the others will update to the latest madwifi-old module and this installs madwifi-ng. The newer features found in the -ng version can be found here. This update is not necessary unless

  1. your pci device is not working with current version that comes with breezy.
  2. Or you can use if you removed restricted modules to use latest nvidia/fglrx drivers and want to try the new -ng driver.
  3. You build a custom kernel but note these instructions do not include steps to properly make and install when using custom kernel. You will just have to make sure you have correct headers and gcc compiler for the kernel you're using.
  4. Or you just want to try and use the latest driver. It may improve performance or fix an unknown bug or add a feature you've been waiting for.

{i} Note: madwifi does not currently support USB devices with the atheros chipset and the roadmap shows it will be sometime before USB support is built into the driver(version 2.0). You can watch progress at www.madwifi.org /!\ Warning: The atheros driver that comes with Breezy is part of the restricted-modules package. This will need to be removed before you can install the latest driver. All modules in this package will be removed and may affect areas such as your graphics driver. If you need to use a module in this package then you will also have to recompile and install that module also. There are howtos on the latest nvidia and fglrx in the breezy tips and tricks section of the form. Here are the modules in the restricted-module package

Currently the following modules are included:
- madwifi (Atheros)
- fglrx (ATI)
- nvidia
- fcdsl, fcdsl2, fcdslsl, fcdslslusb, fcdslusb, fcdslusb2, fcdslusba,
fcpci, fcpcmcia, fcpcmcia_cs, fcusb, fxusb (AVM ISDN)
- ltmodem (Winmodem)

Preparation

You will need a working internet connection to complete this howto. Basic knowledge of moving around in the terminal is required. Remove the following package if installed:

 
sudo apt-get remove --purge linux-restricted-modules-`uname -r`

<!> See relspc release specific notes below for required packages to complete build and install.

Download

You can follow the instructions on MADWiFi if the following method is obsolete.

cd /usr/src
sudo svn checkout http://svn.madwifi.org/trunk madwifi-ng

move into the directory that was created

cd /usr/src/madwifi-ng

Build

Make sure you are using the same version of gcc to build your MADWiFi driver. If you are using Breezy, you probably should use gcc 3.4.5. A quick way to check the gcc version is

gcc --version

Before you start the command make, a small edit has to be done to a file so driver will make.

gksudo gedit Makefile.inc

towards the bottom is a line line that needs to be modified.

'''COPTS+= -Werror'''

change this line and remove the -Werror part so line now looks like this.

'''COPTS+='''

{i} This will not affect driver in anyway, it's just something in the way ubuntu built the kernel for breezy which will prevent installing the driver. Now

sudo make

There will be some warnings but you can ignore those. Look for any errors as these will need to be addressed before moving on to next step.

Install

sudo make install

You may get this warning

WARNING:
It seems that there are modules left from previous MadWifi installations.
You should consider removing them before you continue, or else you might
experience problems during operation. Remove old modules?
[l]ist, [r]emove, [i]gnore or e[x]it (l,r,i,[x]) ?

You should remove with option r If all goes well your last few lines should look like this.

(export MODULEPATH=/lib/modules/2.6.15-8-686/net; depmod -ae)
echo "KERNELRELEASE=2.6.15-8-686" > ./install.log
echo "DESTDIR=" >> ./install.log

Insert module

sudo modprobe ath_pci

Create the interface

With the new -ng module things work differently. An interface has to be created.

wlanconfig ath0 create wlandev wifi0 wlanmode sta

You should now have the latest madwifi driver working. Just configure your network and connect. If it does not then try to restart your network

sudo /etc/init.d/networking restart

or reboot

Uninstall

If you want to uninstall this module just move back to the directory where you built it:

cd /usr/src/madwifi-ng

and

sudo make uninstall

You can discuss problems in this forum thread for Brezy release. Or you can search for help on the madwifi site Anchor(relspec)

Compile -ng release-specific notes

Breezy

  • Required packages needed to complete compilation
    • build-essential
    • sharutil
    • gcc-3.4
    • subversion
User Notes

Dapper

  • Required packages needed to complete compilation
    • build-essential
    • subversion
    • sharutil
User Notes