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