Inhaltsverzeichnis

Wireless Internet Connection Setup Tips

An alternative to manual wifi setup is Wicd. It is an open source wired and wireless network manager which provides a simple, desktop-independent graphical interface to connect to networks. Download and install instructions for Slackware can be found here

Setup a WiFi PC-Card

Skip this step if you have a built in Wifi card!

Boundary conditions

lo    no wireless extensions
eth0  no wireless extensions

Setup

Basic WEP-secured Connection

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]=""
# 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:

Use WPA instead of WEP security

Basic setup like in basic_wep-secured_connection above. The more secure WPA requires the following steps 1):

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
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!
}

Access to public WLANs

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
}

FIXME Slack 12.1 provides this template:

network={
  key_mgmt=NONE
  priority=0
}

FIXME Test this in a public WLAN:

FIXME 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

Wlan and Suspend to RAM

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

Information Sources and furter Reading

Attic

Use a builtin Centrino 3945ABG Wlan Card

As of Slack 12.1 the Intel 3945 wireless firmware is already included (Package 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

Installation

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

Test

lo        no wireless extensions.
eth0      no wireless extensions.

System Configuration

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