SDB:Atheros madwifi

Jump to: navigation, search


The MadWiFi driver for Atheros wireless cards are not included in the openSUSE distribution as its HAL module is only available as proprietary. However, it is still possible to use this driver.

Tested on openSUSE

Recommended articles

Related articles


Pre-installation

  • Discover what cards or wireless devices are supported. See this very informative page.
  • Known your openSUSE version (ie, 11.3).
In example, if you installing openSUSE 11.3, your openSUSE version would be "11.3" not just "11".
  • Known your kernel type. In openSUSE KERNEL_TYPE is one of the following: default, ec2, pae, ppc64, trace, vanilla, or xen.
 $ uname -r
After executing above command it will print out kernel version and kernel type, i.e: 2.6.27.29-0.1-default, 2.6.27.29-0.1 is kernel version and default is kernel type.

Installation

Installing MadWifi program and kernel module

MadWifi requires two packages to be installed MadWifi program and MadWifi kernel module which is available directly from the MadWifi project. They can be installed from their repository by adding it as an installation source.

You can use one of the following installation methods depending on your preferences: YaST, zypper, Smart or compiling from source. First, make sure you are connected to Internet, get a cable plug in to a router/DSL or Cable modem some where and get connected.

Using YaST

  • Add MadWifi repositories.
    • Open the YaST Control Center.
    • Select Software Repositories.
    • Click Add and select Specify URL....
    • Enter one of the following into the URL field, depending on your version,
  • Click OK, YaST will now download the package information.
  • Click Finish, when it's done.
  • Install MadWifi program and Kernel Module.
    • Select Software Management in the YaST Control Center
    • Search for madwifi, and you should see a list of packages appear.
    • Install (or update, if necessary) madwifi and madwifi-kmp-<KERNEL_TYPE>. Pick one of the madwifi-kmp-* based on your kernel type.
    • Click on Accept and wait for the packages to be downloaded and installed.


Using the command line with Zypper

  • Add MadWifi repositories. Replace OPENSUSE_VERSION with version number of your current openSUSE.
 $ sudo zypper -v ar http://madwifi-project.org/suse/<OPENSUSE_VERSION> madwifi
  • Install MadWifi program and kernel module. Replace KERNEL_TYPE with your kernel type.
 $ sudo zypper install madwifi madwifi-kmp-<KERNEL_TYPE>

Compiling it yourself using the sources

  • Make sure you have installed those packages: gcc, gcc-g++, make, kernel-source, kernel-XXX-devel (where XXX is the type of your kernel, for example if you use kernel-desktop kernel install kernel-desktop-devel package). If not, please install them using YaST.
  • Download the current drivers directly from MadWifi Project.
  • Unpack the archive in a temporary folder.
  • Open up a terminal window.
  • Switch to the temporary folder, and type in,
 $ sudo make
 $ sudo make install

You can also use the Ndiswrapper to install your driver if this doesn't work.

Loading MadWifi kernel module

  • Open a terminal window, and execute this command,
 $ sudo /sbin/modprobe ath_pci
  • Check if your module is loaded,
 $ sudo /sbin/modprobe -l | grep ath

After kernel module is loaded your wireless card should have been detected. Click on the KNetworkManager icon or KInternet in the system tray and configure your wireless network. Assuming that you are running DHCP this should be all you have to do. Some versions of Suse will not have the icon in tray, so do a search "knetworkmanager" or "kinternet" and then open and run this utility and configure your wifi device.

Do not forget to disconnect or disable the wired connection that has been established before or you will have a conflict with DHCP and common network masks.

KInternet
Under Kinternet system tray, right click >> settings >> various, and roll the eth0 to ath0.
When you are using WEP with kinternet (traditional ifup method), set or add the variable
WIRELESS_AP='off'
in the /etc/sysconfig/network/ifcfg-ath0 file.
There may be a conflict with built in Atheros module ath5k, which seems is not functional yet, but prevents using madwifi's driver. Resolution is to add this module, to the blacklist. To do this add the line blacklist ath5k to the file /etc/modprobe.d/blacklist and reboot.
For the ath_pci and ath_hal to work for the AR242x, you must have to reboot.

Power management

To ensure that wireless works after suspending to disk or to RAM follow this procedures,

  • Create (or open) a file named config in the /etc/pm/config.d directory
  • Add the following line:
 SUSPEND_MODULES="ath_pci"

If the steps described above does not work, you may try adding the following file to the power management script directory.

  • Create a file named 60madwifi in this directory,

Version: 10.3,11.0 /etc/pm/sleep.d/

Version: 10.2 /etc/pm/power/


  • Contents of 60madwifi is,
#!/bin/bash
case $1 in
    hibernate|suspend)
        /sbin/rmmod ath_pci ath_rate_sample ath_hal
        ;;
    thaw|resume)
        /sbin/modprobe ath_hal
        /sbin/modprobe ath_rate_sample
        /sbin/modprobe ath_pci
        ;;
    *)  echo "madwifi power management script called incorrectly."
        ;;
esac
  • Make file 60madwifi executable.

Version: 10.3,11.0

 $ sudo chmod +x /etc/pm/sleep.d/60madwifi

Version: 10.2

 $ sudo chmod +x /etc/pm/power/60madwifi


WiFi LEDs blinking

Follow this link to enable WiFi LEDs blinking.


See also


External links