Wi-fi - 802.11 in Linux

Ohad Lutzky

Proud Haifux member

What is Wi-Fi?

Advantages

Disadvantages

Connecting to a wireless network

  1. Power on card and load appropriate drivers
  2. Set card mode (managed or ad-hoc)
  3. Set ESSID
  4. Set network configuration (through DHCP or manually)
  5. ...
  6. Profit!

Linux and Wireless drivers

Debian and IPW2200

# apt-get install ipw2200-source ieee80211-source \
  module-assistant
# cd /usr/src
# module-assistant a-i ipw2200 ieee80211
# modprobe ipw2200

Quirk: you sometimes have to reload the module:

# modprobe -r ipw2200 && modprobe ipw2200

Managing the wireless card

Network settings

Essential network settings are comprised of:

Either get these using dhclient/dhcpcd, or set them manually.

Manually configuring network settings

# ifconfig eth1 up [IPAddress]  netmask [Netmask]
# route add default gw [DefaultGW] 
# echo [DNSServer] > /etc/resolv.conf

Quirk: Sometimes you have to lower your MTU.

# ifconfig eth1 mtu [MTU]

Authentication and encryption

Monitoring your connection

Friendlier frontends

  • One-touch connect
  • Profiles
  • Pre/post connection scripts
  • Run as user (?)

NetDLG

  • Some profile support (but DHCP only, no ad-hoc)
  • Halfway-decent configuration
  • Friendly UI (seriously!)
  • Hardcoded support for Taub post-auth
  • No one-touch connection

IfPlugD

  • One-touch detection only
  • Sometimes too agressive - no user intervention
  • Doesn't handle roaming

WapRoamD

  • Similar in purpose to ifplugd
  • Support for per-network WEP and WPA keys
  • Supports roaming
  • Same other problems as ifplugd...

WPASupplicant

  • Replaces waproamd (similar in function
  • Advanced support for WPA and WEP, network preconfiguration
  • Scanning for hidden networks, priorities between networks
  • Excruciating to configure

Netapplet (part I)

Netapplet (part II)

  • Purty!
  • Part of SuSE - seems out of water without YaST

NetworkManager (part I)

NetworkManager (part II)

  • Also purty!
  • Big utopic gnome/redhat-sponsored project
  • Very 'correct' root/user split
  • Minimal profile support (DHCP only) ATM
  • Aggressive behavior, minimal user control
  • Supposedly the holy grail of wireless UIs
  • I can't get it to work

Final thoughts

  • Wirless networking is currently frustrating for the new user
  • Current 'easier' interfaces are very lacking
  • NetworkManager seems to be on the right track
  • OS X seems to have it mostly right