Benutzer-Werkzeuge

Webseiten-Werkzeuge


becki:linux:wireless_setup

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

  • A WLAN PC-Card is used as network interface card (NIC). For linux compatible cards see this list or look at the overview for other lists.
  • No WLAN PC-Card is inserted, no internal WLAN card is present (or no appropriate kernel module for internal card is loaded)
  • ifconfig -a at most shows your wired ethernet card (eth0) and your loopback (lo)
  • iwconfig says:
lo    no wireless extensions
eth0  no wireless extensions

Setup

  • Type 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.

Basic WEP-secured Connection

  • 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)
  • You can use iwlist scan to look for access points in range.
  • Do basic network configuration with 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]=""
  • Set your DSL router to WEP security and auto channel selection. This can be done usually through a wired connection to the router and its browser interface.
  • Rember the ESSID and KEY entries of your DSL router.
  • Add ESSID and KEY to the wireless NIC section in /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:

  • Optionally use my sbreconfig script for easily switching between wired und wireless connection settings.
  • According to slackbook.org it is necessary to edit /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).

Use WPA instead of WEP security

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)
  • Set your DSL router to WPA security. (Use a wired connection for this in the event of something goes wrong)
  • open /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
  • Reduce /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!
}

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:

  • Will omitting the ESSID work at all?
  • What when more thane one SSIDs are available?
  • Does it work also with default /etc/wpa_supplicant.conf (where the entry for a WPA protected network is also present)?

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

  • First look for a (usually blue) wireless button/LED on your laptop and switch it on. On my HP Compaq 6710b the test failed without that step.
  • Become root
  • Run iwconfig. It should say something like
lo        no wireless extensions.
eth0      no wireless extensions.
  • Run ipw3945-1.2.1/load
  • Run iwconfig again. You should now have a new ethernet device eth1 or eth2

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

Cookies helfen bei der Bereitstellung von Inhalten. Diese Website verwendet Cookies. Mit der Nutzung der Website erklären Sie sich damit einverstanden, dass Cookies auf Ihrem Computer gespeichert werden. Außerdem bestätigen Sie, dass Sie unsere Datenschutzerklärung gelesen und verstanden haben. Wenn Sie nicht einverstanden sind, verlassen Sie die Website. Weitere Information
becki/linux/wireless_setup.txt · Zuletzt geändert: 2010-12-25 09:22 von becki

Impressum - Datenschutzerklärung