Giving up on NetworkManager...

Ok, it died twice again, worked 3 times back at home, and died 4 more when out and about. I give up on this mess.. If I need wireless, elsewhere, I’ll make another config file. NetworkManager is too flaky; the system constantly reloads the ipw3945 driver before wpa_supplicant has had a chance to associate… and the prior version of ipw3945 is unloaded (due in part to the user-level daemon which is required.. thank you Intel..)

So, here’s my (hopefully final) workaround:

/etc/network/interfaces:

auto eth1
iface eth1 inet dhcp
pre-up          /etc/init.d/wifi_wpa.sh start
pre-down      /etc/init.d/wifi_wpa.sh stop

/etc/init.d/wifi_wpa.sh:

#!/bin/sh
PATH=/bin:/usr/bin:/sbin:/usr/sbin
BIN=/sbin/wpa_supplicant
PIDFILE=/var/run/wpa_supplicant.pid

. /lib/lsb/init-functions

case “$1” in start)
if [ -x /sbin/wpa_supplicant ]; then $BIN -ieth1 -c /etc/wpa_supplicant.conf -Dwext -w -P $PIDFILE 2>&1 &
fi ;; stop) killall wpa_supplicant ;; *) ;;
esac
exit 0

/etc/wpa_supplicant.conf:

network={
  ssid="MYSSID"
  scan_ssid=1
  psk="MYPSK"
}

/etc/acpi/suspend.d/95-iface-down.sh:

#!/bin/sh
PATH=/bin:/sbin:/usr/bin:/usr/sbin
/sbin/ifdown eth1

/etc/acpi/resume.d/95-iface-up.sh:

#!/bin/sh
PATH=/bin:/sbin:/usr/bin:/usr/sbin
#Just to be sure
/sbin/ifdown eth1
sleep 2
/sbin/ifup eth1

Yes, it takes an extra 4 seconds to startup, but damn it, it works without fail. Anyone who’s been dealing with this mess at all, I strongly suggest ‘apt-get —purge remove network-manager’ ;)