Awkward! (Realtek RTL8111/8168B PCI Express Gigabit Ethernet controller in "awkward" mode)

We hear new expressions from teens and twenty-somethings all the time - and they usually get real old real fast. But there is one semi(?) current expression that I like a lot - it's where kids say - often as a sing-song chorus - "AWKWARD" - in response to someone else describing a situation that is, well, awkward.

Well, even though I basically do networking for a living, I'd never heard of "awkward" mode as applied to a Network Interface device like an Ethernet adapter. Promiscuous mode, yes. But awkward mode no. That is until yesterday.

Here's what happened.

My dual boot machine (Win7, Fedora Core 14) was running Windows 7 and there were some Win 7 OS updates that I said yes to. I was later able to verify that one of these updates did include a driver update for the Realtek PCI Gigabit Ethernet onboard NIC. Things were working fine, I left and I guess the updates installed themselves.

When I returned there was no network connectivity. Not in Windows. Not in Linux. The link light was flashing. Doing a Windows restore didn't help, and neither did power cycling.

Long story short I fortunately found this incredibly insightful post which describes the exact same thing with the exact same NIC. It seems that due to the way that the HW is designed (in particular the "wake on LAN" feature) that even when you shut down your computer there is still power going to the Onboard NIC. Or there are capacitors in the system that cause the NIC to still see a voltage or something.

It further seems that a driver update (such as mine) can leave the HW in an "awkward" state, and even booting into Linux won't fix this. The fix, simple as it is, is a full power down along with yanking the AC connection out from the back of the box. It's only then that the NIC can fully reset itself and get out of "awkward" mode. I did this and it worked like a champ. Perfect!

In Windows7 when in awkward mode the little cartoon they draw you off your LAN connection would sort of flicker between two states probably with the same periodicity as the link light flashes on the NIC itself. IPCONFIG says "media disconnected".

In Linux /sbin/ifconfig shows you a loopback address and an IPV6 Link Local address but no IPV4 address.

As mentioned a cold restart fixes the problem.


Addendum: Did it again - left computer in Windows mode and restarted in Linux and no networking. Powered down, unplugged power and that fixed it again. Need to stop letting computer stay in Windows!

2nd Addendum: Found a way to keep this from happening. When the computer goes to sleep it apparently powers down the NIC (onboard or o/w).  This thread in general and armstrongdc in particular suggested:

1. Click Start
2. Right Click Computer
3. Click Manage
4. Click Device Manager in the left window pane
5. Go to Network Adapters and click the arrow to the left of the words
6. Now you will see your network adapeter or adapters if you have more than one. In my case it was an Atheros L1 Gigabit. Right Click your network adapter.
7. Click Properties
8. Go to the Power Management Tab
9. Make sure all boxes are unchecked. 
10. Once you've unchecked the boxes click ok and restart your system.
11. Enjoy never losing your connection again.

This worked for me or at least for now seems to be working.
1 comment

Popular posts from this blog

Hit failing alternator with a hammer to confirm diagnosis of failing alternator due to bad brushes

alternatives --install gets stuck: failed to read link: No such file or directory

Using SSH, SOCKS, tsocks, and proxy settings to create a simultaneous "dual use" work/home computer