My system had been working fine for years without issues, then I swapped the harddrive for a slightly bigger one, I basically reinstalled Windows then booted to the Ubuntu LiveCD, made the ext3 partition and rsynced my Linux install across and fixed the fstab/grub entries. Then my internet under Linux just stopped working, but of course not right away because that would be explainable, it worked for a couple of boots, enough time for me to download the almost 1Gb worth of crap I need to make my Windows install actually usable (250mb SP2, 50mb nVidia drivers, 23Mb SoundMax audio drivers – which where a pain to find because they show up as a Intel ICH8 82801H in Linux and you need the drivers that are specific to your manufacture even though it the same chipset on everything, Firefox, Antivirus, VideoLan, putty, DaemonTools, Pidgin, 7-Zip, etc…), and people think Linux is hard to install?
After all that had downloaded, I rebooted to Windows and installed it. Then going back to Linux, no internet connection
Network worked fine under Windows.
At first I though it was DHCP/DNS problems, but setting the ip address manually didn’t help, it wouldn’t bind the ADSL modem or server. I considered the possibility that the kernel had been updated and just broken horribly or some other related package, but I booted off the LiveCD which I know works fine, set the IP manually and it wouldn’t work. Considered the possibility that I had somehow screwed my connection to work for windows only, but my other computer ran fine.
Spent ages swapping cables in case the wire was broken and Linux was somehow more picky about faulty cables and rebooting everything I could. Disabled all the dhcp/dns server/clients in case some weird network voodoo was happening.
Then strangely I noticed that the light on the router wasn’t lit while under Linux, but only under Linux, rebooting to windows it would magically light up.
ethtool reported it as link not found, so it didn’t appear that there was some magic command to make the interface spring back into life (I had already tried ifconfig up etc…).
Vaguely remembered having a similar problem once before, years ago when I got the mobo.
Pulled out the power out from the back of the computer (I had turned it off and rebooted many times).
Plugged it back it.
Like magic everything is working again
At best guess, when I installed the windows NIC driver (after downloading it from the working Linux connection) it strewed up the interface somehow that is only a problem in Linux and only completely loosing power manages to fully reset it (It had been stuck like it for about 4 days, with my turning it off overnight), it would explain why I remember something similar happing when I forst got it since I would have needed to install the NIC drivers then too. For reference the mobo is an Asus P5B with a “03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 01)”. [EDIT: Looks like the problem is the wake on lan feature but it doesn’t happen every time I shutdown Windows like the article says it does, there does seem to be a solution though, http://gentoo-wiki.com/HARDWARE_RTL8168]
It also reminded me of several years before when I had a failing motherboard, firstly the CMOS kept loosing the setting even though I replaced the battery, so it required me to push F1 at boot to continue. But the USB keyboard wouldn’t work for some odd reason, so I tried a PS2 one. It worked but only if I pressed it very fast… until next reboot. Then the USB one worked, once again only if I pushed it very fast… then next reboot it was back to the PS2 and so on. So every boot I had the little ritual of furiously hitting the F1 keys simultaneously on two separate keyboard hoping that it would be detected (about ⅓ of the time it would need to be rebooted to try agian). once it got past POST everything including both keyboards worked without problems.