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-functionscase “$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’ ;)