| From: | Tomáš Pěnička, tom.penicka zavináč centrum.cz |
| To: | Gary Vollink <gmail> |
| Date: | Sep 11, 2007 11:31 AM (CDT) |
| Subject: | WIFI on Debian Update |
Hello Gary,
as I promised I write updated directions how to run wpasupplicant on Debian Etch. You can put this e-mail on the web. Please adjust my email so web bots do not it recognize it as an email address.
This manual describes setting up of Dell Latitude D600. The notebook has two network interfaces, ethernet and wifi:
$ lspci | grep -i net 02:00.0 Ethernet controller: Broadcom Corporation NetXtreme BCM5705M Gigabit Ethernet (rev 03) 02:03.0 Network controller: Intel Corporation PRO/Wireless 2200BG Network Connection (rev 05)
The wifi card is plugged into PCI, it works with module ipw2200 and appropriate firmware. The device is named eth1.
I The Garys's page I set the following values on the Garry's page: Name: eth1 Pluggable: PCI or ... Driver: Linux wireless extension ...
The recommended configuration then looks like follows (on the page)
Command Shell: gavollink@debian:~$ sudo apt-get install ifplugd Password: ******** Installation under most systems the install asks for network details... Interfaces to be watched by ifplugd: eth0 eth1
Hotplug interfaces be watched by ifplugd:
arguments to ifplugd: -q -f -u0 -d10 -w -I
and the config file is as follows:
/etc/default/ifplugd: INTERFACES="eth0 eth1" HOTPLUG_INTERFACES="" ARGS="-q -f -u0 -d10 -w -I" SUSPEND_ACTION="stop"
However with this configuration I've noticed big problems with networking. After boot both the networking didn't work until I switched off and on again an appropriate network device (eth0 if the cable is plugged and eth1 if I am at home, where wifi router runs).
I looked into my old configuration (Sarge) and the configuration was slightly different: /etc/default/ifplugd:
INTERFACES="eth0" HOTPLUG_INTERFACES="eth1" ARGS="-q -f -u0 -d10 -w -I" SUSPEND_ACTION="stop"
Probably I created this configuration by mistake about a year ago, but it did work on Sarge and it works on Etch too.
I've also noticed another problem with avahi-daemon and avahi-autoipd. (For description of avahi see http://avahi.org). With these services the networking didn't work after boot even with the configuration described above (with the same procedure to fix the networking).
The avahi daemon is normally started by script in /etc/init.d, but it also looks into /etc/default/avahi-daemon, where you can set that the service will not be started.
However there is a catch, because the service can be also started by scripts in directories in /etc/network/if-pre-up.d/ and /etc/network/if-post-down.d/, avahi-autoipd has similar scripts.
For me the best solution was to uninstall these packages. I noticed a problem because some scripts in /etc/network/if-pre-up.d/ and /etc/network/if-post-down.d were not removed. These scripts call /usr/lib/avahi/avahi-daemon-check-dns.sh which were removed with avahi-daemon. As a result you can see a couple of error messages when switching some network device ON or OFF. Unfortunaltelly I don't remember names of these scripts, but I can remember that I couldn't find them in any package (using search on Debian packages page).
As a last thing I summarize the differences in Debian Etch (comparing with Sarge):
wpa_supplicant does not have a start script in /etc/init.d instead it contains script /etc/wpa_supplicant/ifupdown.sh linked from /etc/network/if-* directories.
The only action to run the wpasupplicant correctly is to change /etc/network/interfaces file as follows: $ cat interfaces # This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5).
# The loopback network interface auto lo iface lo inet loopback
# The primary network interface allow-hotplug eth0 iface eth0 inet dhcp
allow-hotplug eth1 iface eth1 inet dhcp wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
Notice the wpa-conf line. With this line the whole configuration used in Sarge can be reused without any change. I tried also to put the configuration into /etc/network/interface, but it didn't work, wpasupplicant throwed an error (I don't remember just now)
The file /etc/default/wpasupplicant is not needed (I don't have any and it works).
I hope these lines will be helpfull for somebody,
Cheers,
Tomas