/etc/udev/rules.d/70-persistent-net.rules file needed to be regenerated to be able to use wireless after suspend (iwl3945)
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
udev (Ubuntu) |
Triaged
|
High
|
Scott James Remnant (Canonical) |
Bug Description
The logic in udev according to /etc/udev/
Old lines look like:
# PCI device 0x10de:0x0057 (forcedeth)
SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}
which causes udev to add new lines like the following after suspend/resume (module unload/reload):
# PCI device 0x10de:0x0057 (forcedeth)
SUBSYSTEM=="net", ACTION=="add", ATTR{type}=="1", NAME="eth2"
After removing 70-persistent-
# PCI device 0x10de:0x0057 (forcedeth)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}
The old entries are missing an ACTION and ATTR{type} attribute, which seems to cause udev to add the extra line and therefore renaming the interface somehow.
SYMPTOMS:
This often shows up as an inability to use any wireless networks after suspending/
WORKAROUND:
1. sudo rm /etc/udev/
2. Reboot
/etc/udev/
Note that this probably will change the names of your network interfaces, particularly your wireless ones. If you rely on them having particular identifiers (eth0, eth1, wlan0 etc) for the purposes of custom scripts, firewall rules or anything similar, you may need to update these settings after the file is regenerated.
ORIGINAL DESCRIPTION:
After upgrading pm-utils from 0.99.2-3ubuntu5 to 0.99.2-3ubuntu6 my iwl3945 wireless driver no longer worked after suspend-and-resume. A full reboot was required to make it work again. https:/
System info was attached to bug 204040 (all with the failing pm-utils 0.99.2-3ubuntu6 and /etc/udev/
$ uname -a
Linux gertrude 2.6.24-12-generic #1 SMP Wed Mar 12 23:01:54 UTC 2008 i686 GNU/Linux
Output of "lspci -vvnn":
http://
Output of dmesg immediately after boot (no attempt at suspend at this point)
http://
Output of dmesg after resuming from suspend:
http://
Output of dmesg after resume and after running "modprobe -r iwl3945 && modprobe iwl3945" as root:
http://
Other possibly relevant info: I am using Network Manager to manage the wireless connection, version 0.6.6-0ubuntu3.
description: | updated |
description: | updated |
description: | updated |
Changed in udev: | |
assignee: | nobody → keybuk |
One of the changes in 0.99.2-3ubuntu6 is to unload network driver modules before suspending, as some of them can prevent suspends from working correctly.
For what it's worth, this behaviour of removing network drivers is how gutsy worked. Oddly, your dmesg looks like the driver gets reloaded and initialised fine on resume.