Welcome to the new location of Alien's Wiki, sharing a single dokuwiki install with the SlackDocs Wiki.

Welcome to Eric Hameleers (Alien BOB)'s Wiki pages.

If you want to support my work, please consider a small donation:

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
slackware:madwifi [2006/03/17 23:45] alienslackware:madwifi [2007/09/03 14:44] alien
Line 1: Line 1:
 ===== Installing Madwifi on Slackware ===== ===== Installing Madwifi on Slackware =====
  
-Wireless support in Slackware has much improved in the last few releases. The madwifi driver for Atheros based chipsets works fine with both the 2.4.x and the 2.6.x series of kernels. If you want unencrypted or WEP-protected connections, everything should work right away.\\+{{ :slackware:madwifi-logo-draft-3-small.png|Madwifi }}\\ Wireless support in Slackware has much improved in the last few releases. The madwifi driver for Atheros based chipsets works fine with both the 2.4.x and the 2.6.x series of kernels. If you want unencrypted or WEP-protected connections, everything should work right away.\\
 If you need WPA encryption, read the [[#support_for_wpa_encryption|Support for WPA encryption]] section of this page. If you need WPA encryption, read the [[#support_for_wpa_encryption|Support for WPA encryption]] section of this page.
  
-This Wiki page explains how to install an appropriate Madwifi package on your Slackware computer, and gives directions on how to build your own. The focus lies on using the new madwifi code, also known as "madwifi-ng" or "madwifi next-generation". The name used for the driver is just "madwifi" and where needed, I will refer to "madwifi-old" for the old code which is no longer being developed (but fixes are still being applied).+This Wiki page explains how to install an appropriate Madwifi package on your Slackware computer, and gives directions on how to build your own.
  
 The madwifi driver is capable of creating so-called //virtual access points// or VAPs. This is being done on a base device called //wifi0// which will show up in your listings of ifconfig and iwconfig, and is not linked to the wireless extensions. You should never have to use this //wifi0// network device. The //user station// (a VAP of type "sta") will by created by default when the kernel module loads and is called //ath0//. This //ath0// is the real network device, which you will be configuring and using.\\ People who want to create something other than a user station, for instance a real Access Point (master mode) will want to read this [[http://madwifi.org/wiki/UserDocs/autocreate|MadWiki documentation]].  The madwifi driver is capable of creating so-called //virtual access points// or VAPs. This is being done on a base device called //wifi0// which will show up in your listings of ifconfig and iwconfig, and is not linked to the wireless extensions. You should never have to use this //wifi0// network device. The //user station// (a VAP of type "sta") will by created by default when the kernel module loads and is called //ath0//. This //ath0// is the real network device, which you will be configuring and using.\\ People who want to create something other than a user station, for instance a real Access Point (master mode) will want to read this [[http://madwifi.org/wiki/UserDocs/autocreate|MadWiki documentation]]. 
Line 13: Line 13:
 Binary Slackware packages for the madwifi driver can be found at [[http://www.slackware.com/~alien/slackbuilds/madwifi/pkg/|slackware.com]]. They can be installed onto your computer using ''installpkg'' or ''upgradepkg''. They are packages for specific kernels. The package naming convention is //madwifi-${VERSION}_${KERNELVERSION}-i486-${NUMBER}.tgz//. Here, //${VERSION}// is the version of the madwifi source package, and //${KERNELVERSION}// is the version of the kernel that the package is meant for. The //${NUMBER}// is the build number. In case there are multiple packages where only the build number differs, then the package with the highest build number is the most recent and should be used. Binary Slackware packages for the madwifi driver can be found at [[http://www.slackware.com/~alien/slackbuilds/madwifi/pkg/|slackware.com]]. They can be installed onto your computer using ''installpkg'' or ''upgradepkg''. They are packages for specific kernels. The package naming convention is //madwifi-${VERSION}_${KERNELVERSION}-i486-${NUMBER}.tgz//. Here, //${VERSION}// is the version of the madwifi source package, and //${KERNELVERSION}// is the version of the kernel that the package is meant for. The //${NUMBER}// is the build number. In case there are multiple packages where only the build number differs, then the package with the highest build number is the most recent and should be used.
  
-The old driver, also referred to as "madwifi-old", still has some features that have not yet been ported to the "madwifi-ng" code. For people who need this old driver specifically, there is a package still available [[http://www.slackware.com/~alien/slackbuilds/madwifi-old/|here]].+A deprecated madwifi driver, also referred to as "madwifi-old", still has some features that have not yet been ported to the "madwifi-ng" code. For people who need this old driver specifically, there is a package still available [[http://www.slackware.com/~alien/slackbuilds/madwifi-old/|here]].
  
  
Line 45: Line 45:
  
  
-You can use hotplug to load the madwifi driver automatically. There is nothing to configure; hotplug takes care of everything. If you do not use hotplug, you can add a line like this to ''/etc/rc.d/rc.modules'': <code>+You can use hotplug/udev to load the madwifi driver automatically. There is nothing to configure; hotplug/udev takes care of everything. If you do not use hotplug or udev, you can add a line like this to ''/etc/rc.d/rc.modules'': <code>
 /sbin/modprobe ath_pci /sbin/modprobe ath_pci
 </code> which will then load the kernel module when the computer boots. </code> which will then load the kernel module when the computer boots.
 +
 +If you need to pass parameters to the madwifi driver, like a different country code, you can create a file in the ''/etc/modprobe.d/'' directory which contains these parameters. The filename is your choice - let's use 'madwifi' as the name. As an example, suppose you need to tell the driver to use country code ''25'', create the file "''/etc/modprobe.d/madwifi''" and add the following single line to it:
 +<code>options ath_pci countrycode=25</code> (by the way, a list of country codes is available on the [[http://madwifi.org/wiki/UserDocs/CountryCode|madwifi Wiki]])
  
  
Line 59: Line 62:
  
   - you just took your Wireless Access Point out of the box you were sold it in, and didnt have time yet to configure it;   - you just took your Wireless Access Point out of the box you were sold it in, and didnt have time yet to configure it;
 +
   - you are at an airport/hotel/pub where they offer free wireless access.   - you are at an airport/hotel/pub where they offer free wireless access.
  
Line 88: Line 92:
 </code> </code>
  
-  * Somewhere further below the lines you just commented out (at the very bottom of the file for instance)add a few lines that will apply to your card, like these: <code>+  * Somewhere further below the lines you just commented out, add a few lines (easiest is to add it to the bottom of the file for instance, **right above** the ''esac'' line) that will apply to your card, like these: <code>
   00:06:25:13:2B:D4)   00:06:25:13:2B:D4)
       INFO="D-LINK DWL-G510 revB1"       INFO="D-LINK DWL-G510 revB1"
Line 94: Line 98:
       KEY="0100030203"       KEY="0100030203"
       ;;       ;;
-</code> Your MAC address, ESSID, KEY and info comment are obviously going to be different.+</code> The first line is your card's MAC address followed by a ')', and the last line must be two semicolons all by themselves (copy and paste one of the available examples if you're unsure).\\ Your MAC address, ESSID, KEY and info comment are obviously going to be different.
  
  
Line 131: Line 135:
 <code> <code>
 WPA="wpa_supplicant" WPA="wpa_supplicant"
-WPADRIVER="madwifi"+WPADRIVER="wext"
 </code> but this is how you could do it in //rc.inet1.conf// as well: <code> </code> but this is how you could do it in //rc.inet1.conf// as well: <code>
 IFNAME[1]="ath0" IFNAME[1]="ath0"
    ...    ...
 WLAN_WPA[1]="wpa_supplicant" WLAN_WPA[1]="wpa_supplicant"
-WLAN_WPADRIVER[1]="madwifi"+WLAN_WPADRIVER[1]="wext"
 </code> You can configure your card in either one, or both of the configuration files, but the settings in //rc.inet1.conf// will always have priority. It depends on your own taste which of the two configuration files you want to put your configuration in. </code> You can configure your card in either one, or both of the configuration files, but the settings in //rc.inet1.conf// will always have priority. It depends on your own taste which of the two configuration files you want to put your configuration in.
    
Line 142: Line 146:
 === (Re) starting the network interface === === (Re) starting the network interface ===
  
-=== Updating the network scripts (Slackware 10.1 and older) === 
  
-=== Network configuration the manual way (Slackware 10.1 and older) === +If you're using Slackware 10.2 or in case you run an older release but updated your network scripts, you can start your ath0 interface like this: 
- +<code>
- +
-==== Using early madwifi-ng versions with Slackware 10.2 ==== +
- +
- +
-==== Support for WPA encryption ==== +
- +
-=== WPA debugging === +
- +
- +
-==== Author(s) and further pointers ==== +
- +
-  * The original information on this page was written by unknown author for the original DokuWiki based [[http://madwifi.org/wiki/MadWiki]] +
-  * This page was updated with Slackware 10.2 information and WPA configuration by Eric Hameleers <alien at slackware dot com>\\ For questions about this page, you can contact me at my email address, or visit the #madwifi IRC channel on Freenode. +
-  * Updated with information about using madwifi-ng on Slackware 10.2 by Joe Feise <jfeise at feise dot com>. +
-  * Updated with information about using madwifi-ng (builds later than 1407) and updated WPA information by Eric Hameleers <alien at slackware dot com>. +
-  * Exported this page from the MadWiki and translated back to DokuWiki format, for my own Slackware Wiki. +
- +
---------------------------------------------- +
-=== **TODO** transform Trac syntax into DokuWiki: === +
- +
- +
-%% +
- +
- +
-=== rc.inet1.conf === +
- +
- +
-=== (Re) starting the network interface === +
- +
-If youre using Slackware 10.2 or in case you run an older release but updated your network scripts, you can start your ath0 interface like this: +
-{{{+
 /etc/rc.d/rc.inet1 ath0_start /etc/rc.d/rc.inet1 ath0_start
-}}}+</code>
 or restart it like this (after making changes to the above configuration files for instance): or restart it like this (after making changes to the above configuration files for instance):
-{{{+<code>
 /etc/rc.d/rc.inet1 ath0_restart /etc/rc.d/rc.inet1 ath0_restart
-}}}+</code>
 Earlier versions of Slackware will (re-)start all configured interfaces at once, because all you can run is Earlier versions of Slackware will (re-)start all configured interfaces at once, because all you can run is
-{{{+<code>
 /etc/rc.d/rc.inet1 /etc/rc.d/rc.inet1
-}}}+</code> 
  
 === Updating the network scripts (Slackware 10.1 and older) === === Updating the network scripts (Slackware 10.1 and older) ===
  
-The network scripts of Slackware 10.2 can be used in older releases of Slackware as well. You will need /etc/rc.d/rc.wireless* and /etc/rc.d/rc.inet1* + 
-If you have difficulties extracting these files from a Slackware 10.2 CD or Internet server, you can find them [http://www.slackware.com/~alien/rc_scripts/ here too].+The network scripts of Slackware 10.2 can be used in older releases of Slackware as well. You will need /etc/rc.d/rc.wireless* and /etc/rc.d/rc.inet1* \\ If you have difficulties extracting these files from a Slackware 10.2 CD or Internet server, you can find them [[http://www.slackware.com/~alien/rc_scripts/|here too]]. 
  
 === Network configuration the manual way (Slackware 10.1 and older) === === Network configuration the manual way (Slackware 10.1 and older) ===
 +
  
 These are the relatively easy ways to get slackware to bring up your interface: These are the relatively easy ways to get slackware to bring up your interface:
  
- 1. Run /etc/rc.d/rc.wireless to configure the wireless parameters for your card. +  - Run /etc/rc.d/rc.wireless to configure the wireless parameters for your card. 
- 2. Run dhcpcd ath0 which should be enough to get you up and running; +  Run dhcpcd ath0 which should be enough to get you up and running; 
- 3. It depends on your local network and your settings if you want ifconfig (instead of dhcpcd) and possibly additional iwconfig commands. +  It depends on your local network and your settings if you want ifconfig (instead of dhcpcd) and possibly additional iwconfig commands. 
- 4. Put a dhcpcd ath0 or ifconfig ath0 statement at the bottom of /etc/rc.d/rc.local +  Put a dhcpcd ath0 or ifconfig ath0 statement at the bottom of ''/etc/rc.d/rc.local'' 
- 5. If youre using hotplug, you can have it automatically bring up the interface by editing /etc/hotplug/net.agent and inserting the following lines in the case add|register) branch: +  If youre using hotplug, you can have it automatically bring up the interface by editing ''/etc/hotplug/net.agent'' and inserting the following lines in the case add|register) branch: <code>
-{{{+
      ath*)      ath*)
        dhcpcd -n $INTERFACE % If you use dhcp for the interface        dhcpcd -n $INTERFACE % If you use dhcp for the interface
Line 208: Line 182:
        % ifconfig $INTERFACE 192.168.1.1 netmask 255.255.255.0 ...        % ifconfig $INTERFACE 192.168.1.1 netmask 255.255.255.0 ...
        ;;        ;;
-}}} +</code> In the //remove|unregister// branch it will automatically bring down dhcpcd if running.
-In the remove|unregister branch it will automatically bring down dhcpcd if running.+
  
-== Using early madwifi-ng versions with Slackware 10.2 == 
  
-  ''NOTE:'' [[BR]]The text in this paragraph applies to early versions of the madwifi-ng driver. For any version of the madwifi driver released after 23-january-2006, the directions given in this paragraph are no longer needed; when loading the kernel module (/sbin/modprobe ath_pci), an interface ath0 will be automatically created, and there is no longer a need to run wlanconfig (either manually or by modifying the hotplug scripts). See [wiki:UserDocs/autocreate VAP autocreate] if you want to know more about this.+==== Using early madwifi-ng versions with Slackware 10.2 ====
  
-Madwifi-ng's concept of virtual APs makes the configuration a bit more complicated, in particular if you have hotplugging enabled. 
-The reason is that the hotplugging subsystem sees at least two events each for adding and removing: one for the wifi0 device when the card is plugged in, and one for each activation of a virtual interface. 
-When the events for the wifi0 device are received, wlanconfig needs to be executed to enable the virtual APs. 
-This can be accomplished by editing /etc/hotplug/net.agent and inserting a couple of lines, and adding a new script in the /etc/rc.d directory. 
  
- 1. Editing /etc/hotplug/net.agent, in the case add|register) branch: +>> NOTE: 
-{{{+>> The text in this paragraph applies to early versions of the madwifi-ng driver. 
 +>> For any version of the madwifi driver released after 23-january-2006, the directions 
 +>> given in this paragraph are no longer needed; when loading the kernel module 
 +>> (''/sbin/modprobe ath_pci''), an interface //ath0// will be automatically created, 
 +>> and there is no longer a need to run ''wlanconfig'' (either manually or by modifying 
 +>> the hotplug scripts). See the MadWiki page on [[http://madwifi.org/wiki/UserDocs/autocreate|VAP autocreate]]  
 +>> if you want to know more about this. 
 + 
 +Madwifi-ng's concept of virtual APs makes the configuration a bit more complicated, in particular if you have hotplugging enabled.\\ The reason is that the hotplugging subsystem sees at least two events each for adding and removing: one for the //wifi0// device when the card is plugged in, and one for each activation of a virtual interface. 
 +When the events for the //wifi0// device are received, ''wlanconfig'' needs to be executed to enable the virtual APs.\\ This can be accomplished by editing ''/etc/hotplug/net.agent'' and inserting a couple of lines, and adding a new script in the /etc/rc.d directory. 
 + 
 +  - Editing /etc/hotplug/net.agent, in the case add|register) branch: <code>
      wifi*)      wifi*)
        exec /etc/rc.d/rc.madwifi-ng ${INTERFACE}_start        exec /etc/rc.d/rc.madwifi-ng ${INTERFACE}_start
        ;;        ;;
-}}} +</code> 
- 2. Editing /etc/hotplug/net.agent, in the "case remove|unregister)" branch: + 
-{{{+  - Editing /etc/hotplug/net.agent, in the "case remove|unregister)" branch: <code>
      wifi*)      wifi*)
        exec /etc/rc.d/rc.madwifi-ng ${INTERFACE}_stop        exec /etc/rc.d/rc.madwifi-ng ${INTERFACE}_stop
        ;;        ;;
-}}} +</code> 
- 3. Creating a new file, /etc/rc.d/rc.madwifi-ng, with the following content: + 
-{{{+  - Creating a new file, /etc/rc.d/rc.madwifi-ng, with the following content: <code>
 #!/bin/sh #!/bin/sh
 # /etc/rc.d/rc.madwifi-ng # /etc/rc.d/rc.madwifi-ng
Line 357: Line 336:
  
 # End of /etc/rc.d/rc.madwifi-ng # End of /etc/rc.d/rc.madwifi-ng
-}}}+</code> This takes care of creating a virtual AP as normal station mode, with device name athx (usually //ath0//). From this point forward, the normal ''rc.inet1'' processing for athx, as explained above, takes place.
  
-This takes care of creating a virtual AP as normal station mode, with device name athx (usually ath0). From this point forward, the normal rc.inet1 processing for athx, as explained above, takes place. 
  
-== Support for WPA encryption ==+==== Support for WPA encryption ==== 
  
-I am assuming that you already have your madwifi-powered card up and running. Do not try to add WPA support if you do not yet have a functional wireless network connection! Also, if you run Slackware older than 10.2 you will need the updated network scripts that are mentioned in the previous section Updating the network scripts (Slackware 10.1 and older).+I am assuming that you already have your madwifi-powered card up and running. Do not try to add WPA support if you do not yet have a functional wireless network connection! Also, if you run Slackware older than 10.2 you will need the updated network scripts that are mentioned in the previous section [[#updating_the_network_scripts_slackware_10.1_and_older|Updating the network scripts (Slackware 10.1 and older)]].
  
-The madwifi package obtained [http://www.slackware.com/~alien/slackbuilds/madwifi/pkg/ here] is for a "madwifi-ng" version that I tested with the wpa_supplicant package also found [http://www.slackware.com/~alien/slackbuilds/wpa_supplicant/pkg/ here]People who want to use the old version of the madwifi driver can find a package [http://www.slackware.com/~alien/slackbuilds/madwifi-old/pkg/ here]. Be warned that in order to get WPA working with the "old" driver, I needed fairly old madwifi snapshots. Your mileage may vary.+The madwifi package obtained [[http://www.slackware.com/~alien/slackbuilds/madwifi/pkg/|here]] work well with the wpa_supplicant package found in Slackware 12.0Since the linux kernel 2.6.14, madwifi and wpa_supplicant can communicate using the kernel's "wireless extensions" and wpa_supplicant's "''wext''" driverFor older kernel versions, you will need wpa_supplicant's "''madwifi''" driver for which you need the wpa_supplicant package found [[http://www.slackware.com/~alien/slackbuilds/wpa_supplicant/pkg/|here]].
  
-If you want to compile your own packages, you might find some useful information in the [wiki:UserDocs/802.11i Setting up a Client Using WPA-PSK] Wiki page.+If you want to compile your own packages, you might find some useful information in the [[http://madwifi.org/wiki/UserDocs/802.11i|Setting up a Client Using WPA-PSK]] Wiki page.
  
-Note: Recent wpa_supplicant should have support for roaming open networks as well as for wpa-protected networks. This makes the [http://0pointer.de/lennart/projects/waproamd/ waproamd] program obsolete for instance.+>> Note: 
 +>> Recent wpa_supplicant should have support for roaming open networks as well 
 +>> as for wpa-protected networks. This makes the [[http://0pointer.de/lennart/projects/waproamd/|waproamd]]  
 +>> program obsolete for instance.
  
-Note: When you want to re-build wpa_supplicant, make sure you have installed the madwifi package on your system as well. The wpa_supplicant build needs the include files that thie madwifi package installs. If you want to use the SlackBuild scripts for madwifi and wpa_supplicant found [http://www.slackware.com/~alien/slackbuilds/ here] to rebuild the packages for your system, build them in that order (first build and install madwifi, then build and install wpa_supplicant). The madwifi include files will be found by the wpa_supplicant build script.+>> Note: 
 +>> When you want to re-build wpa_supplicant and run a Linux kernel older than 2.6.14, make sure you have installed 
 +>> the madwifi package on your system as well. The wpa_supplicant build 
 +>> needs the include files that thie madwifi package installs. 
 +>> If you want to use the SlackBuild scripts for madwifi and wpa_supplicant 
 +>> found [[http://www.slackware.com/~alien/slackbuilds/|here]] to rebuild the packages for your system, 
 +>> build them in that order (first build and install madwifi, then build 
 +>> and install wpa_supplicant). 
 +>> The madwifi include files will be found by the wpa_supplicant build script.
  
- * To enable WPA support for your madwifi driver, install the wpa_supplicant package (it is not depending on any kernel version) and then open the file /etc/wpa_supplicant.conf in an editor. It should look something like this: +  * To enable WPA support for your madwifi driver, install the wpa_supplicant package (it is not depending on any kernel version) and then open the file ''/etc/wpa_supplicant.conf'' in an editor. It should look something like this: <code>
-{{{+
   ctrl_interface=/var/run/wpa_supplicant   ctrl_interface=/var/run/wpa_supplicant
   ctrl_interface_group=0   ctrl_interface_group=0
Line 390: Line 379:
         psk=your_64_hex_characters_long_key         psk=your_64_hex_characters_long_key
   }   }
-}}} +</code> but youll need to supply your own values for the //ssid// and the //psk//.
-   but youll need to supply your own values for the ssid and the psk.+
  
- * There is a way to generate the hexadecimal value for the PSK if you have an access point which uses a passphrase. As root, run: +  * There is a way to generate the hexadecimal value for the PSK if you have an access point which uses a passphrase. As root, run: <code>
-{{{+
 wpa_passphrase YOURSSID passphrase wpa_passphrase YOURSSID passphrase
-}}} +</code> with the SSID of your AP and the passphrase youve entered in its WPA-PSK configuration. You'll receive an output, which looks like this: <code>
-   with the SSID of your AP and the passphrase youve entered in its WPA-PSK configuration. Youll receive an output, which looks like this: +
-{{{+
 network={ network={
     ssid="YOURSSID"     ssid="YOURSSID"
Line 404: Line 389:
     psk=04dffae0172e3a255e5bab6f28ab78cc23d845f3dd8d4a63ba64a37555e2a33b     psk=04dffae0172e3a255e5bab6f28ab78cc23d845f3dd8d4a63ba64a37555e2a33b
 } }
-}}} +</code> Next, you should copy the three lines that you find inside the ''network={}'' section and paste them inside the ''network={}'' section of the file ''/etc/wpa_supplicant.conf''. Do not forget to check the permissions of the configuration file! The key that it contains should be protected from prying eyes. <code>
-   Next, you should copy the three lines that you find inside the network={} section and paste them inside the network={} section of the file /etc/wpa_supplicant.conf. Do not forget to check the permissions of the configuration file! The key that it contains should be protected from prying eyes. +
-{{{+
 chmod 600 /etc/wpa_supplicant.conf chmod 600 /etc/wpa_supplicant.conf
-}}} +</code> 
- * You will also need to apply the following patch to /etc/hotplug/net.agent if youre not yet running Slackware 10.2. The patch makes the network initialization cleaner if you have more than one network interface, and wpa_supplicant needs that. + 
-{{{+  * You will also need to apply the following patch to ''/etc/hotplug/net.agent'' if you're not yet running Slackware 10.2 or newer. The patch makes the network initialization cleaner if you have more than one network interface, and wpa_supplicant needs that. <code>
 --- net.agent.org       2005-04-17 00:48:48.000000000 +0200 --- net.agent.org       2005-04-17 00:48:48.000000000 +0200
 +++ net.agent   2005-04-17 00:41:56.000000000 +0200 +++ net.agent   2005-04-17 00:41:56.000000000 +0200
Line 421: Line 404:
                  fi                  fi
             # RedHat and similar             # RedHat and similar
-}}} +</code> 
- * Finally, youll need to upgrade your wireless-tools to at least wireless-tools-27 (which is in Slackware 10.2). There is a package for wireless-tools-28 [http://www.slackware.com/~alien/slackbuilds/wireless-tools/pkg/ here] in case you need an even more advanced version (as I do).+  * Finally, you'll need to upgrade your wireless-tools to at least wireless-tools-27 (if you run anything older than Slackware 10.2). There is a package for wireless-tools [[http://www.slackware.com/~alien/slackbuilds/wireless-tools/pkg/ |here]] in case you need more advanced version (like I do).
  
- * Now, if your network configuration in rc.inet1.conf looked like this: +  * Now, if your network configuration in rc.inet1.conf looked like this: <code>
-{{{+
   # Config information for ath0 (using dhcp):   # Config information for ath0 (using dhcp):
   IFNAME[1]="ath0"   IFNAME[1]="ath0"
Line 432: Line 414:
   USE_DHCP[1]="yes"   USE_DHCP[1]="yes"
   DHCP_HOSTNAME[1]="mywirelessbox"   DHCP_HOSTNAME[1]="mywirelessbox"
-}}} +</code> then youd have to add two lines so that it will read: <code>
-   then youd have to add two lines so that it will read: +
-{{{+
   # Config information for ath0 (using dhcp):   # Config information for ath0 (using dhcp):
   IFNAME[1]="ath0"   IFNAME[1]="ath0"
Line 442: Line 422:
   DHCP_HOSTNAME[1]="mywirelessbox"   DHCP_HOSTNAME[1]="mywirelessbox"
   WLAN_WPA[1]="wpa_supplicant"   WLAN_WPA[1]="wpa_supplicant"
-  WLAN_WPADRIVER[1]="madwifi+  WLAN_WPADRIVER[1]="wext
-}}} +</code> Adapt this to your own configuration of course. 
-   Adapt this to your own configuration of course. + 
- * You can restart your network card now, by running +  * You can restart your network card now, by running <code>
-{{{+
 /etc/rc.d/rc.inet1 ath0_restart /etc/rc.d/rc.inet1 ath0_restart
-}}} +</code> If your WPA connection does not activate, try some debugging: 
-   If your WPA connection does not activate, try some debugging:+
  
 === WPA debugging === === WPA debugging ===
  
- * Was wpa_supplicant compiled with support for madwifi? 
-   Run wpa_supplicant on the commandline, and verify that the output mentions madwifi = MADWIFI 802.11 support (Atheros, etc.) under drivers:. If not, you will have to find another package which has the support for madwifi compiled in, or build a wpa_supplicant package yourself, and make sure that the build script finds the madwifi source code on your box. 
  
- Debug the WPA authentication process. +  [//If you run a kernel older than 2.6.14 ://] Was wpa_supplicant compiled with support for madwifi?\\ Run wpa_supplicant on the commandline, and verify that the output mentions ''madwifi = MADWIFI 802.11 support (Atheros, etc.)'' under ''drivers:''If not, you will have to find another package which has the support for madwifi compiled in, or build wpa_supplicant package yourself, and make sure that the build script finds the madwifi source code on your box.
-   Make sure the network interface is down (run /etc/rc.d/rc.inet1 ath0_stop to make sure). Start the wpa_supplicant daemon as a foreground process with additional debugging enabled: +
-{{{ +
-wpa_supplicant -dw -c/etc/wpa_supplicant.conf -Dmadwifi -iath0 +
-}}} +
-   Then activate the network interface in another terminal (run /etc/rc.d/rc.inet1 ath0_start). Look at the output of wpa_supplicant in the first terminalit might give you pointers to look for a solution.+
  
- * Get a run-time status overview of the supplicant: +  * Debug the WPA authentication process.\\ Make sure the network interface is down (run <code> 
-   As root, run +/etc/rc.d/rc.inet1 ath0_stop 
-{{{+</code> to make sure). Start the wpa_supplicant daemon as a foreground process with additional debugging enabled: <code> 
 +wpa_supplicant -dw -c/etc/wpa_supplicant.conf -Dwext -iath0 
 +</code> Then activate the network interface in another terminal (run <code> 
 +/etc/rc.d/rc.inet1 ath0_start) 
 +</code> Look at the output of wpa_supplicant in the first terminal, it might give you pointers to look for a solution. 
 + 
 +  * Get a run-time status overview of the supplicant:\\ As root, run <code>
 wpa_cli status wpa_cli status
-}}} +</code> to see the current status of wpa_supplicants authentication process.
-   to see the current status of wpa_supplicants authentication process.+
  
- * Debug Slackwares network intitialization. +  * Debug Slackwares network intitialization.\\ Add <code>
-   Add +
-{{{+
 DEBUG_ETH_UP="yes" DEBUG_ETH_UP="yes"
-}}} +</code> to ''/etc/rc.d/rc.inet1.conf'' and look for //logger// messages that are written to ''/var/log/messages''. Maybe those messages will help you trace your problem.\\ NOTE: with debugging enabled, Slackware will write your WEP/WPA keys to the message log as well!
-   to /etc/rc.d/rc.inet1.conf and look for logger messages that are written to /var/log/messages. Maybe those messages will help you trace your problem. NOTE: with debugging enabled, Slackware will write your WEP/WPA keys to the message log as well!+
  
- * The WPA association might take a long time. +  * The WPA association might take a long time.\\ Start the interface again after a little time, this may help if it takes wpa_supplicant a long time to associate (no restart, just another start): <code>
-   Start the interface again after a little time, this may help if it takes wpa_supplicant a long time to associate (no restart, just another start): +
-{{{+
 /etc/rc.d/rc.inet1 ath0_start /etc/rc.d/rc.inet1 ath0_start
-}}} +</code> If this works, but it happens a lot, you can change the wait time for the WPA authentication process by editing the file ''/etc/rc.d/rc.wireless'' and changing the line <code>
-   If this works, but it happens a lot, you can change the wait time for the WPA authentication process by editing the file /etc/rc.d/rc.wireless and changing the line +
-{{{+
 WPAWAIT=10 WPAWAIT=10
-}}} +</code> to <code>
-   to +
-{{{+
 WPAWAIT=20 WPAWAIT=20
-}}} +</code> or any other larger value that helps your particular setup.
-   or any other larger value that helps your particular setup.+
  
- * The Access Point is not broadcasting the SSID. +  * The Access Point is not broadcasting the SSID.\\ I have tried and failed in getting WPA to work when the Access Point has a //hidden SSID//. Check if your AP is broadcasting the SSID and if not, enable it. There is little point in hiding the SSID anyway, with WPA as a protection layer you should not fear break-ins (as long as you do not use easy-to-guess passphrases!!! WPA can be cracked with dictionary attacks and no I will not supply a link here).
-   I have tried and failed in getting WPA to work when the Access Point has a hidden SSID. Check if your AP is broadcasting the SSID and if not, enable it. There is little point in hiding the SSID anyway, with WPA as a protection layer you should not fear break-ins (as long as you do not use easy-to-guess passphrases!!! WPA can be cracked with dictionary attacks and no I will not supply a link here).+
  
-%%+ 
 +==== Author(s) and further pointers ==== 
 + 
 +  * The original information on this page was written by unknown author for the original DokuWiki based [[http://madwifi.org/wiki/MadWiki]] 
 +  * This page was updated with Slackware 10.2 information and WPA configuration by Eric Hameleers <alien at slackware dot com>\\ For questions about this page, you can contact me at my email address, or visit the #madwifi IRC channel on Freenode. 
 +  * Updated with information about using madwifi-ng on Slackware 10.2 by Joe Feise <jfeise at feise dot com>. 
 +  * Updated with information about using madwifi-ng (builds later than 1407) and updated WPA information by Eric Hameleers <alien at slackware dot com>. 
 +  * Exported this page from the MadWiki and translated back to DokuWiki format, for my own Slackware Wiki. 
 +  * Added some configuration info for Slackware 12.0 and kernels >= 2.6.14
 Installing Madwifi on Slackware ()
SlackDocs