ifconfig -a
at most shows your wired ethernet card (eth0) and your loopback (lo)iwconfig
says:lo no wireless extensions eth0 no wireless extensions
tail -f /var/log/messages
and insert WLAN PC-Card (I used a „D-Link Air DCF-660W“). Some messages from /etc/rc.d/rc.inet1
should appear. Additionally pccardctl ident
gives information about the inserted card.iwconfig
should reveal the name of the new wireless network interface card (NIC), typically wlan0
or eth1
or eth2
. I'll exemplary use eth1
here)iwlist scan
to look for access points in range.netconfig
. The easiest is to enable DHCP and let your router do all network settings.netconfig
can only set eth0, so open /etc/rc.d/rc.inte1.conf
and move the settings of eth0 to your wireless interface. In the following example netconfig
was told to just use DHCP and the wirelless NIC is eth1:
Before:
# 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]="" DHCP_HOSTNAME[1]=""
After:
# Config information for eth0: IPADDR[0]="" NETMASK[0]="" USE_DHCP[0]="" DHCP_HOSTNAME[0]="" # Config information for eth1: IPADDR[1]="" NETMASK[1]="" USE_DHCP[1]="yes" DHCP_HOSTNAME[1]=""
/etc/rc.d/rc.inte1.conf
. Example:# Config information for eth1: IPADDR[1]="" NETMASK[1]="" USE_DHCP[1]="yes" DHCP_HOSTNAME[1]="" WLAN_ESSID[1]="Your ESSID here" # <- Add and edit this line WLAN_KEY[1]="Your (hexadecimal) key here" # <- Add and edit this line
Notes:
/etc/rc.d/rc.wireless.conf
. This is not necessary any more. However it is necessary to leave /etc/rc.d/rc.wireless
runnable (tested).Basic setup like in basic_wep-secured_connection above. The more secure WPA requires the following steps 1):
iwconfig
should reveal the name of the new wireless network interface card (NIC), typically wlan0
. I'll exemplary use wlan0
here)/etc/rc.d/rc.inte1.conf
and append the following WLAN_xxx entries to your wireless NIC section. (Remove WLAN_ESSID and WLAN_KEY entries if you used WEP before; the settings for eth0 - eth4 must be empty!) Example:IPADDR[0]="" NETMASK[0]="" USE_DHCP[0]="" DHCP_HOSTNAME[0]="" #[...] IFNAME[4]="wlan0" IPADDR[4]="" NETMASK[4]="" USE_DHCP[4]="yes" DHCP_HOSTNAME[4]="" WLAN_MODE[4]="Managed" # <- Add this line WLAN_WPA[4]="wpa_supplicant" # <- Add this line WLAN_WPADRIVER[4]="wext" # <- Add this line
/etc/wpa_supplicant.conf
to the following entries. Important: The psk key has to be specified in double qoutes:!:ctrl_interface=/var/run/wpa_supplicant ctrl_interface_group=0 eapol_version=1 ap_scan=1 fast_reauth=1 network={ scan_ssid=0 ssid="your SSID here" # <- edit! proto=WPA key_mgmt=WPA-PSK pairwise=CCMP TKIP group=CCMP TKIP WEP104 WEP40 psk="your (hexadecimal) key here" # <- edit! Use double quotes! }
/etc/rc.d/rc.inte1.conf
has to be the same as in Use WPA instead of WEP security above./etc/wpa_supplicant.conf
to the following entries:ctrl_interface=/var/run/wpa_supplicant ctrl_interface_group=0 eapol_version=1 ap_scan=1 fast_reauth=1 # Plaintext connection (no WPA, no IEEE 802.1X), # nice for hotel/airport types of WiFi network. network={ ssid="any" # <=replace with correct SSID you got from 'iwlist scan'! key_mgmt=NONE priority=2 }
Slack 12.1 provides this template:
network={ key_mgmt=NONE priority=0 }
Test this in a public WLAN:
/etc/wpa_supplicant.conf
(where the entry for a WPA protected network is also present)?
The configuration of rc.inet1.conf
below (where /etc/wpa_supplicant.conf
is not used at all) also work for an unencrypted SOHO router. Test this in a public WLAN!
# Config information for eth1: IPADDR[1]="" NETMASK[1]="" USE_DHCP[1]="yes" DHCP_HOSTNAME[1]="" WLAN_ESSID[1]="Your ESSID here" # <- Add this line and fill in your ESSID WLAN_KEY[1]="off" # <- Add but DO NOT edit this line
As of Slack 13.0 suspend to RAM is very well supported. The only problem is, that sometimes the wireless connection is broken after resuming the system. (Try a ping
). A remedy may be to remove and re-insert the appropriate kernel module for the wireless connection. To do do this, first find out which kernel module your system uses. Type lspci -v
and look for the wireless device in the ouput, eg:
02:00.0 Network controller: Atheros Communications Inc. AR9285 Wireless Network Adapter (PCI-Express) (rev 01)
The wireless section contains an entry about the kernel module, eg:
Kernel driver in use: ath9k
(A call to lsmod
should confirm that named module is already loaded.) Now set the name of the kernel module into the following script and save it to /usr/local/sbin/sbrepairnet
:
#!/bin/bash #file /usr/local/sbin/sbrepairnet # Set name of wlan kernel module here: #wlanmodule=iwl3945 wlanmodule=ath9k /etc/rc.d/rc.inet1 stop /sbin/modprobe -r $wlanmodule sleep 1 /sbin/modprobe $wlanmodule /etc/rc.d/rc.inet1 start
Now calling the script as root should reconnect you to the net. Try ping
again. If you want to be able to call the script as normal user as well, run visudo
and add the following line (replace hostname with the real name of your host, without network name):
%users hostname = NOPASSWD: /usr/local/sbin/sbrepairnet
No a call to sudo /usr/local/sbin/sbrepairnet
as normal user should work as well. If you want to be able just to call it the command sbrepairnet
from a terminal or with the program starter (Alt + F2) of your desktop environment, save the following line to /usr/local/bin/sbrepairnet
:
#!/bin/bash #file /usr/local/bin/sbrepairnet sudo /usr/local/sbin/sbrepairnet
iwlwifi-3945-ucode
). Thus the rest of this chapter is obsolete.
In order to get iwlist scan
to work, on Slack 12.2 in my case it was necessary to remove and add again the appropriate kernel module iwl3945
with the modprobe
command.
This is tested on a HP Compaq 6710b Laptop running Slack 12.0 with an Intel PRO/Wireless 3945ABG Network Connection Card. The card type can be determined by looking in the output of lspci -v
command.
According to hardware4linux.info Slackware 12 includes the driver (along with instructions by Pat on how to set it up) under /extra
The following installation steps are compiled mainly form slackware-12.0/extra/intel-wlan-ipw3945/README_Slackware.TXT and slackware-12.0/extra/intel-wlan-ipw3945/INSTALL for a Slack 12.0 32 Bit System. I kept records of the individual steps in the form of a shellscript. However, for better conrol, I would recommend to issue the individual commands manually:
url='http://ftp.gwdg.de/pub/linux/slackware/slackware-12.0/extra/intel-wlan-ipw3945/' module='ipw3945-1.2.1' ucode='ipw3945-ucode-1.14.2' daemon='ipw3945d-1.7.22' # Download Sources # (Downloading the ieee80211-subsystem is not necessary # It is already included in Slack package kernel-modules-smp-2.6.21.5_smp-i686-2 on your system) wget $url/kernel-module/$module.tar.gz $url/microcode/$ucode.tgz $url/regulatory-daemon/$daemon.tgz # Build kernelmodule ipw3945.ko: tar -xzf $module.tar.gz cd $module make # Install ipw3945.ko to /lib/modules/2.6.21.5-smp/kernel/drivers/net/wireless/ su make install exit cd .. # Install the microcode: tar -xzf $ucode.tgz cd $ucode su cp ipw3945.ucode /lib/firmware exit cd .. # Install the regulatory daemon: tar -xzf $daemon.tgz su cp $daemon/x86/ipw3945d /sbin exit
iwconfig
. It should say something likelo no wireless extensions. eth0 no wireless extensions.
ipw3945-1.2.1/load
iwconfig
again. You should now have a new ethernet device eth1
or eth2
Note: The command /sbin/modprobe ipw3945
in /etc/rc.d/rc.modules
or /etc/rc.d/rc.netdevice
like PV in slackware-12.0/extra/intel-wlan-ipw3945/README_Slackware.TXT recommends for me was not necessary, because KMOD or hotplug obviously loads the ipw3945 and dependencies automatically.
Append the following lines /etc/rc.d/rc.local
:
# Start Regulatory Daemon for Intel PRO/Wireless 3945ABG Network Connection: /sbin/ipw3945d
After reboot you should have your wireless ethernet device available (check agagin with iwconfig
).
Now you can continue with the configuration as described above in basic_wep-secured_connection