After booting with no ethernet cable inserted, when an ethernet cable is inserted I get the following error in dmesg: "sky2 0000:02:00.0: eth0: phy I/O error". And of course, "/etc/init.d/net.eth0 start" does not work, resulting in: eth0: dhcpcd 4.0.7 starting eth0: waiting for carrier eth0: timed out However, if the cable is inserted on bootup then everything works fine and an IP is pulled. I can also stop and start net.eth0 with any issues. The problem starts again if the cable is unplugged and replugged in though. The system must be rebooted to fix the issue (with the cable plugged in). Reproducible: Always Steps to Reproduce: 1. Unplug ethernet cable 2. Plug in ethernet cable 3. dmesg Actual Results: sky2 0000:02:00.0: eth0: phy I/O error Expected Results: No errors with dmesg and "/etc/init.d/net.eth0 start" should work correctly System is an HP mini 1000 with a Marvell Technology Group Ltd. 88E8040 PCI-E Fast Ethernet Controller. Using the sky2 kernel driver with vanilla-sources 2.6.29.1
Created attachment 188899 [details] kernel config file
Created attachment 188901 [details] lspci -kv
Created attachment 188903 [details] dmesg
Please post your "emerge --info".
Created attachment 189005 [details] emerge --info
Did you use any kernel-package to install this kernel? If yes which package did you choose?
I use sys-kernel/vanilla-sources ebuild to install my kernels.
This bug spawned in the 2.6.29.1 vanilla release? Which kernel version was the last one you tried and actually worked without any issues?
I cannot say for certain that any kernel I have used with Gentoo has worked. However, the original Ubuntu install from HP used 2.6.24-19-lpia and it did work. Also, I just executed an `lspci` and the Ethernet controller is not showing up at all. I found that on some boots the Ethernet controller is found, sometimes not. I suppose this is the bigger issue. I have reconfigured my kernel (changes lots of options) and now cannot reproduce the issue or the missing controller in lspci. I will continue to try and reprouce the issue again over the next few days. If I can reproduce the issue (the controller not showing in lspci), is there any data I should collect? Thanks
Created attachment 189292 [details] New kernel config without issues Since these updates to my kernel, I have not been able to reproduce the original issue or the missing controller from lspci.
It seems that the difference is not the new kernel. I found that I see the problem when running on the battery. When I plug in the AC power adapter and reboot, ethernet appears in lspci and works fine.
Please attach "dmesg" and "lspci -v" outputs from both AC-boot and battery-boot (4 files total)
Please feel free to reopen with requested information
Created attachment 193217 [details] dmesg while plugged in
Created attachment 193219 [details] dmesg while on battery power
Created attachment 193221 [details] lspci while plugged in
Created attachment 193222 [details] lspci while on battery power
Here are the requested files. Sorry for the delay.
i am reproducing this bug exactly as is shown on a gentoo minimal installation cd (install-x86-minimal-20090609.iso with corresponding stage3 tarball.) same system: hp mini 1000 w/ marvell 88e8040 /proc/version: Linux version 2.6.29-gentoo-r5 (root@poseidon) (gcc version 4.3.2 (Gentoo 4.3.2-r3 p1.6, pie-10.1.5) ) #1 SMP Tue Jun 9 18:02:27 UTC 2009
Could you try adding acpi_os_name=Linux to your kernel boot parameters and boot from battery power? Thanks :)
This fixed the issue! Thanks! Is this a bug workaround that will be fixed eventually or a "feature" that I need to just live with? If its a hardware issue that can't/won't be fixed then I'll mark this bug fixed. Thanks again.
(In reply to comment #21) accoring to https://bugs.launchpad.net/ubuntu/+bug/297263/comments/9, pci-e hotplug is not correctly handled when on battery. it could be reported upstream, so that it will get fixed eventually, but since acpi_os_name=Linux works, and doesn't break any other ACPI-related stuff, i think you can close the bug
Fixed with command line parameter