FS#22957 - [laptop-mode-tools] After resume from suspend, network get disabled when switching to/from battery

Attached to Project: Arch Linux
Opened by Green (The_Green_Arrow) - Saturday, 19 February 2011, 10:25 GMT
Last edited by Eric Belanger (Snowman) - Saturday, 23 July 2011, 20:22 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To Eric Belanger (Snowman)
Architecture All
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 2
Private No

Details

Description:
Basically, when I switch from/to battery power the first time I boot, there is no problem.
Then, I suspend (to RAM) and resume later. After that, each time I unplug the power cable, ethernet network get disabled automatically. I then have to right click on networkmanager applet icon, disable network, then enable it again. Same thing occurs when I plug the power cable back.

I already check laptop-mode.conf to set DISABLE_ETHERNET_ON_BATTERY=0
Problems just happears yesterday after upgrading kernel to 2.6.37, but I'm not sure it's entirely related to the kernel. I've also disabled wakeonlan in the BIOS.


Additional info:
* networkmanager 0.8.3-0.20110113
* kernel 2.6.37

Here is the output of everything.log when I unplug power cable :

logger: ACPI action undefined: ACAD
laptop-mode: Laptop mode
laptop-mode: enabled, active
kernel: r8169 0000:0e:00.0: eth0: link down
NetworkManager[3915]: <info> (eth0): carrier now OFF (device state 8, deferring action for 4 seconds)
kernel: r8169 0000:0e:00.0: PME# enabled
laptop-mode: Activating Runtime PM for device type PCI
laptop-mode: Activating Runtime PM for device type SPI
laptop-mode: Activating Runtime PM for device type i2c
kernel: uhci_hcd 0000:00:1a.0: PCI INT A disabled
kernel: ehci_hcd 0000:00:1d.7: PCI INT A disabled
kernel: ehci_hcd 0000:00:1d.7: PME# enabled
kernel: uhci_hcd 0000:00:1a.1: PCI INT B disabled
kernel: uhci_hcd 0000:00:1a.2: PCI INT C disabled
kernel: uhci_hcd 0000:00:1d.1: PCI INT B disabled
kernel: uhci_hcd 0000:00:1d.2: PCI INT C disabled
logger: ACPI action undefined: BAT1
kernel: EXT4-fs (sda7): re-mounted. Opts: errors=remount-ro,barrier=0,commit=60,commit=600
laptop-mode: Laptop mode
laptop-mode: enabled,
laptop-mode: active [unchanged]
kernel: EXT4-fs (sda8): re-mounted. Opts: data=ordered,errors=remount-ro,commit=60,commit=600
NetworkManager[3915]: <info> (eth0): device state change: 8 -> 2 (reason 40)
NetworkManager[3915]: <info> (eth0): deactivating device (reason: 40).
dhcpcd[10199]: received SIGTERM, stopping
dhcpcd[10199]: eth0: removing interface
avahi-daemon[3997]: Withdrawing address record for 192.168.1.23 on eth0.
avahi-daemon[3997]: Leaving mDNS multicast group on interface eth0.IPv4 with address 192.168.1.23.
avahi-daemon[3997]: Interface eth0.IPv4 no longer relevant for mDNS.
NetworkManager[3915]: <info> (eth0): canceled DHCP transaction, DHCP client pid 10199
NetworkManager[3915]: <warn> (pid 10199) unhandled DHCP event for interface eth0


Steps to reproduce:
* upgrade kernel
This task depends upon

Closed by  Eric Belanger (Snowman)
Saturday, 23 July 2011, 20:22 GMT
Reason for closing:  No response
Comment by Green (The_Green_Arrow) - Saturday, 19 February 2011, 10:53 GMT
Same thing happens just now after downgrading to kernel 2.6.36 and even without suspend/resume before....
Comment by Green (The_Green_Arrow) - Saturday, 19 February 2011, 11:08 GMT
When I try to rmmod r8169 && modprobe r8169, I have many messages like this :

kernel: r8169 0000:0e:00.0: PME# enabled
kernel: r8169 0000:0e:00.0: PME# disabled
kernel: r8169 0000:0e:00.0: eth0: link down
kernel: r8169 0000:0e:00.0: eth0: link down
kernel: r8169 0000:0e:00.0: PME# enabled
kernel: r8169 0000:0e:00.0: PME# disabled
kernel: r8169 0000:0e:00.0: eth0: link down
kernel: r8169 0000:0e:00.0: eth0: link down
kernel: r8169 0000:0e:00.0: PME# enabled
kernel: r8169 0000:0e:00.0: PME# disabled
kernel: r8169 0000:0e:00.0: eth0: link down
kernel: r8169 0000:0e:00.0: eth0: link down
kernel: r8169 0000:0e:00.0: PME# enabled
kernel: r8169 0000:0e:00.0: PME# disabled
kernel: r8169 0000:0e:00.0: eth0: link down
kernel: r8169 0000:0e:00.0: eth0: link down
kernel: r8169 0000:0e:00.0: PME# enabled
....
Comment by Green (The_Green_Arrow) - Saturday, 19 February 2011, 12:42 GMT
Problem seems to be solved by changing :
# Control Ethernet settings?
CONTROL_ETHERNET="auto"

to

# Control Ethernet settings?
CONTROL_ETHERNET=0

in /etc/laptop-mode/conf.d/ethernet.conf
Comment by Green (The_Green_Arrow) - Sunday, 20 February 2011, 13:24 GMT
Is it possible to move this bug to [laptop-mode-tools] instead of [kernel].
This is definitely a laptop-mode-tools that has been updated recently (02/15).
Thanks.
Comment by Michal Kolodziejczyk (miko) - Friday, 25 February 2011, 12:06 GMT
I have similar bug on Dell Latitude E6400 with e1000e ethernet driver. My system works while battery is charging. When it gets fully charged, I lose the wired connection, and the system no longer sees eth0 (mii-tool says "no MII interfaces found"). rmmod/modprobe e1000e does not help. I have to reboot the system to get wired connection again. Tested on 2.6.36, 2.6.37 and 2.6.38-beta kernels.
What is more interesting, watching tail -f /var/log/everything.log while i plug out the power supply I can see ehci_hcd lines going like crazy until I plug in the power again.
I will test this with CONTROL_ETHERNET=0 for now.
Comment by Eric Belanger (Snowman) - Friday, 25 February 2011, 20:30 GMT
You should report this upstream.
Comment by Giacomo Rizzo (alt-os) - Monday, 28 February 2011, 22:00 GMT
In my case 2.6.37-ARCH SMP PREEMPT x84_64, with laptop-mode 1.56, the "CONTROL_ETHERNET=0" doesn't fix the bug. In addiction, I can signal that I see the kworker/0:1 going up to 100% of one CPU core...
Starting the system without laptop-mode in DAEMONS doesn't show up any problem.
Manually starting laptop-mode will expose the bug.
Stopping it, doesn't fix the problem, reboot is needed.
Comment by Green (The_Green_Arrow) - Tuesday, 01 March 2011, 19:48 GMT
I can't find any bugtracker on the laptop-mode-tools website...
Here are the modules (in /etc/laptop-mode/conf.d) that were recently updated (according to ls -ltruh) :
bluetooth.conf, runtime-pm.conf, usb-autosuspend.conf and ethernet.conf
Maybe you should try to disable them as well...?
Comment by Eric Belanger (Snowman) - Tuesday, 01 March 2011, 21:26 GMT
They don't have a bug tracker. You'll need to email the upstream developper or post on their mailing list. (See Support at http://www.samwel.tk/laptop_mode/)
Comment by Giacomo Rizzo (alt-os) - Wednesday, 02 March 2011, 12:25 GMT
@Green: I tried disabling selectively all the modules you listed (bluetooth is already disabled by default), and none of them disabled, by itself, will solve the problem.

EDIT @13:58: no, sorry. Disabling runtime-pm in conf.d will solve the (e1000e) problem. It seems that the module "plays" a little bit with PCI bus PM and that somehow break the e1000e functionality.
Comment by Giacomo Rizzo (alt-os) - Wednesday, 02 March 2011, 12:43 GMT
In the mailing-list, with the 1.57 release announce, they signal that they have a "brand new" bug tracking tool: https://bugs.launchpad.net/laptop-mode-tools
Comment by Green (The_Green_Arrow) - Wednesday, 09 March 2011, 11:52 GMT
There has been a commit in 2.6.37.3 kernel (http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.37.3) that might be related to this e1000 issue

e1000e: disable broken PHY wakeup for ICH10 LOMs, use MAC wakeup instead

commit 4def99bbfd46e05c5e03b5b282cb4ee30e27ff19 upstream.

When support for 82577/82578 was added[1] in 2.6.31, PHY wakeup was in-
advertently enabled (even though it does not function properly) on ICH10
LOMs. This patch makes it so that the ICH10 LOMs use MAC wakeup instead
as was done with the initial support for those devices (i.e. 82567LM-3,
82567LF-3 and 82567V-4).
Comment by Greg (dolby) - Thursday, 05 May 2011, 09:20 GMT
Is this still a problem?
FWIW this may be an issue with having both lmt and pm-utils installed on the same system. Debian and Ubuntu recently added conflicts between the two packages cause they both provide laptop-mode. pm-utils: /usr/lib/pm-utils/power.d/laptop-mode

You may want to check if your troubles disappear if you remove one of the two.

Loading...