Wi-fi - 802.11 in Linux
Ohad Lutzky
Proud Haifux member
What is Wi-Fi?
- Wireless replacement for Ethernet
- Allows [mobile] computers to communicate
- Can be used for internet connectivity
Advantages
- Mobility - surf while moving
- Easy to connect to an existing network
- Availability (easy-to-setup hot-spots are omnipresent)
- Easier Ad-hoc (no crossover cables)
- Easy to connect a great number of computers
- Anonymity
Disadvantages
- Greater security risk - hack from outside the building
- Connectivity and speed issues (comparable to ISPs)
- Anonymity
Connecting to a wireless network
- Power on card and load appropriate drivers
- Set card mode (managed or ad-hoc)
- Set ESSID
- Set network configuration (through DHCP or manually)
- ...
- Profit!
Linux and Wireless drivers
- The easy way - install Ubuntu Linux
- The hard way - install your own modules
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
- Install the
wireless-tools
package.
- Use
iwconfig
and iwlist
Network settings
Essential network settings are comprised of:
- IP Address
- Netmask
- Default gateway
- DNS Server[s]
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
- MAC Filtering
- WEP/WPA
- Post-connection authentication
Monitoring your connection
- Dockapps -
wmwireless
, wmifinfo, gkrellmwireless
- Desktop-manager specific - Gnome's interface monitor, KDE equivelant
- Commandline using
iwconfig
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 II)
- Purty!
- Part of SuSE - seems out of water without YaST
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