Differences between revisions 50 and 51
Revision 50 as of 2008-11-24 22:54:00
Size: 6234
Editor: ?lultimouomo
Comment: Added a note about wpa_gui
Revision 51 as of 2008-11-27 13:34:00
Size: 6324
Editor: GeoffSimmons
Comment: Replaced simple open network with a better /e/n/i example.
Deletions are marked like this. Additions are marked like this.
Line 10: Line 10:
Install the DebPkg:wireless-tools package.
Line 14: Line 15:
pre-up ifconfig ath0 up
pre-up iwconfig ath0 essid "router ID"
wireless-essid router ID
Line 17: Line 17:
If spaces are used in the ESSID, do not surround them with quotes.
Line 18: Line 19:
A more elegant solution to connect to one or more access points either with or without encryption is to use wpasupplicant. This is our recommended way to configure wifi for the Eee. If any of the following is unclear or does not work for you, please check the doc in /usr/share/doc/wpasupplicant/ for details. A more elegant solution to connect to one or more access points either with or without encryption is to use DebPkg:wpasupplicant. This is our recommended way to configure wifi for the Eee. If any of the following is unclear or does not work for you, please check the documentation in /usr/share/doc/wpasupplicant/ for details.

Translations: [:DebianEeePCFrench/HowTo/Wifi:French] [:DebianEeePCGerman/HowTo/Wifi:German] [:DebianEeePCItalian/HowTo/Wifi:Italian] [:DebianEeePCPortuguese/HowTo/Wifi:Portuguese]

This document covers configuration of wifi. It assumes you have already installed the appropriate wifi driver for your model of EeePC. See ["DebianEeePC/HowTo/Install"] and ["DebianEeePC/Models"] for further details.

The following instructions were written for models using the madwifi driver, and therefore refer to ath0 as the wireless device name. If you have a model using the Ralink driver, use ra0 instead.

If you're impatient and want to configure for wifi without encryption to a single access point, you can simply set it up as follows:

Simple open network

Install the wireless-tools package.

(File: /etc/network/interfaces)
auto ath0
iface ath0 inet dhcp
wireless-essid router ID

If spaces are used in the ESSID, do not surround them with quotes.

Wpa supplicant with PSK

A more elegant solution to connect to one or more access points either with or without encryption is to use wpasupplicant. This is our recommended way to configure wifi for the Eee. If any of the following is unclear or does not work for you, please check the documentation in /usr/share/doc/wpasupplicant/ for details.

First, you have to "aptitude install wpasupplicant".

To configure for wifi to single access point with WPA(2)-PSK encryption, open a text file and paste this and save it as /etc/wpa_supplicant/wpa_supplicant.conf:

ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=netdev
ap_scan=1
fast_reauth=1
eapol_version=1
network={
        ssid="ROUTER ID"
        psk="your password" # or psk=0123456789abcdef
        priority=5
}

Note: some parameters take double-quotes and some don't as shown above, e.g. if psk is a hex key don't use double-quotes, but if it is a passphrase, do.

Note2: using rt2860sta I (?ArturCzechowski) needed to set ap_scan to 2. Perhaps it depends on my AP configuration but I cannot verify it.

Note3: rt2860sta with WPA2 (or, presumably, WPA) only works using TKIP, or at least hasn't worked with CCMP. (dsalt)

Then edit /etc/network/interfaces with this:

auto ath0
iface ath0 inet dhcp
wpa-driver wext
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

Reboot and you have wifi :)

Wpa supplicant in roaming mode

For multiple access points, you'll want "roaming" mode. Starting with the previous example, in /etc/network/interfaces, change 'auto ath0' to 'allow-hotplug ath0', change 'wpa-conf' to 'wpa-roam'. Also change 'iface ath0 inet dhcp' to 'iface ath0 inet manual' and add a default connection method 'iface default inet dhcp'. When you're all done, your /etc/network/interfaces should look something like this:

auto lo
iface lo inet loopback
iface eth0 inet dhcp
allow-hotplug ath0
iface ath0 inet manual
        wpa-driver wext
        wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp

Now we are ready to define additional networks in /etc/wpa_supplicant/wpa_supplicant.conf. For example:

network={
        key_mgmt=NONE
}

This is a catch-all that will associate with any open access point within range using dhcp to connect.

You can add additional specific networks, each with their own ssid and specify either the type of encryption to use or specify key_mgmt=NONE for either no encryption or WEP. We can also assign id strings to these networks, so that if, for example, your home network is static, and the local cafe is dhcp, we can alter our files like so.

For WEP, you specify the key as follows:

ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=netdev
ap_scan=1
fast_reauth=1
eapol_version=1
network={
     ssid="cafe"
     key_mgmt=NONE
     wep_key0=FFEEDD001122
     id_str="cafe"
}
network={
     ssid="home-router"
     psk="your password" # or psk=0123456789abcdef
     id_str="home"
}

Note: some parameters take double-quotes and some don't as shown above, e.g. if psk is a hex key don't use double-quotes, but if it is a passphrase, do.

And edit our /etc/network/interfaces as follows

auto lo
iface lo inet loopback
iface eth0 inet dhcp
allow-hotplug ath0
iface ath0 inet manual
        wpa-driver wext
        wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp
iface cafe inet dhcp
iface home inet static
     address 192.168.1.5
     netmask 255.255.255.0
     network 192.168.1.0
     broadcast 192.168.1.255
     gateway 192.168.1.1

Tip: If you have trouble connecting to a network because it does not broadcast its ssid, add 'scan_ssid=1' to its network stanza.

Tip: Look in the ["DebianEeePC/HowTo/Troubleshooting"] section if you have an error. Also see /usr/share/doc/wpasupplicant/ docs for more details.

Tip: Once you have a working configuration, you can use wpa_gui to easily add, delete, select and scan for networks. wpa_gui is a small, neat program that could do for all your needs, without forcing you to manually edit your configuration every time you connect to a new network.

Using NetworkManager

If you like to use NetworkManager, delete eth0 and ath0 configuration from /etc/network/interfaces, install network-manager and network-manager-gnome (or network-manager-kde) packages, and add your user to netdev group.

su
apt-get install network-manager network-manager-gnome
adduser <yourusername> netdev

(You'll need to log out and in again for adduser to take effect.)

Using Wicd

NOTE: wicd appeared today in [http://packages.debian.org/sid/wicd Sid], just install it and reboot!

[http://wicd.sourceforge.net/ Wicd] is a network manager without specific dependencies, usable also with XFCE, Fluxbox, etc... You can use custom repository (adding "deb http://apt.wicd.net debian extras" in /etc/apt/sources.list) or download the latest testing release deb package from [https://sourceforge.net/project/showfiles.php?group_id=194573 sourceforge].

Once installed, for stable version launch "/opt/wicd/tray.py" and for testing version launch "wicd-client" to show the tray icon in your desktop.