A couple of weeks ago I was surfing the internet as usual, and found a forum about Slackware and new kde 4, there was one guy that was complaining about kde 4 because it lacks the wireless (wifi) configuration applet.
This post tries to explain how to configure Slackware Linux for wireless use. The trick is done similar to ethernet configuration, but with the use of wpa_supplicant, for this you need to install package wpa_supplicant-0.5.10-i486-1.tgz in slackware/n directory.
Let’s suppose we have two interfaces (common in laptops), eth0 will be the ethernet (wired) and eth1 the wifi (wireless), our /etc/rc.d/rc.inet1.conf must be like this:
# Config information for eth0:
IPADDR[0]=”"
NETMASK[0]=”"
USE_DHCP[0]=”yes”
DHCP_HOSTNAME[0]=”"# Config information for eth1:
IPADDR[1]=”"
NETMASK[1]=”"
USE_DHCP[1]=”yes”
DHCP_HOSTNAME[1]=”"
WLAN_WPA[1]=”wpa_supplicant”
Noticed the WLAN_WPA[1]=”wpa_supplicant” entry, this tells the rc.d scripts to use wpa_supplicant, if for any reason your wireless interface is not called eth1, fear not!, you can include IFNAME[1]=”wlan0″ or whatever name your interface has.
wpa_supplicant has several modes:
- hostap (default) – Host AP driver (Intersil Prism2/2.5/3). (this can also be used with Linuxan DriverLoader).
- hermes – Agere Systems Inc. driver (Hermes-I/Hermes-II).
- madwifi – MADWIFI 802.11 support (Atheros, etc.).
- atmel – ATMEL AT76C5XXx (USB, PCMCIA).
- wext – Linux wireless extensions (generic).
- ndiswrapper – Linux ndiswrapper.
- broadcom – Broadcom wl.o driver.
- ipw – Intel ipw2100/2200 driver.
- wired – wpa_supplicant wired Ethernet driver
- bsd – BSD 802.11 support (Atheros, etc.).
- ndis – Windows NDIS driver.
If you want you can specify this with WLAN_WPADRIVER[1]=”wext”, for me, I haven’t set it and it works fine, so my guess is that you would have to try it without it and then change it if needed.
Now you need to configure wpa_supplicant, this is done with /etc/wpa_supplicant.conf file, mine is:
# See /usr/doc/wpa_supplicant-0.5.7/wpa_supplicant.conf.sample
# for many more options that you can use in this file.# This line enables the use of wpa_cli which is used by rc.wireless
# if possible (to check for successful association)
ctrl_interface=/var/run/wpa_supplicant
# By default, only root (group 0) may use wpa_cli
ctrl_interface_group=0
eapol_version=1
ap_scan=1
fast_reauth=1# WPA protected network, supply your own ESSID and WPAPSK here:
network={
scan_ssid=0
ssid=”HOME_WIFI_NETWORK”
proto=WPA
key_mgmt=WPA-PSK
pairwise=CCMP TKIP
group=CCMP TKIP WEP104 WEP40
psk=”this is my super duper password”
}# Plaintext connection (no WPA, no IEEE 802.1X),
# nice for hotel/airport types of WiFi network.
# You’ll need a recent version of wireless-tools for this!
#network={
# ssid=”any”
# key_mgmt=NONE
# priority=2
#}network={
ssid=”officenetwork”
scan_ssid=0
key_mgmt=NONE
wep_key0=B7A21715223F55AC7B21D4C23E
wep_tx_keyidx=0
}
In this example you can see two networks, officenetwork who has simple WEP encryption, and HOME_WIFI_NETWORK who has wpa encryption. The nice thing about this setup is that you only have to configure it once, when you boot up, wpa_supplicant will check which network is available and will take the one with better signal. So no need to reconfigure your network every time you change place.
There’s a commented block with ssid named any, this allows wpa_supplicant to connect to the first open network with best signal, I have this commented out because I want to be sure that I’m connected to a trusted network all the time, but feel free to change and give it a try, also remember to read the man pages for more information.
