lspci and lshw show no network devices

Upgraded to Ocelot over the weekend. All had been working ok until I booted the computer this morning. Now I have no wired network connectivity through the integrated card.

  • Networking icon shows "No network devices available".
  • sudo lshw -C network returns nothing
  • lspci -nn appears to show no network devices
  • Lights are blinking as normal on the network card.
  • Onboard LAN is enabled in BIOS

I've tried a suggestion I saw elsewhere involving:

  • service network-manager stop
  • rm /var/lib/NetworkManager/NetworkManager.state
  • service network-manager start

No luck.

I'm decent with a command line but not a Linux developer so I'm out of ideas at this point. Any thoughts or additional info needed?

lspci output:

- 00:00.0 Host bridge: Intel Corporation 82945G/GZ/P/PL Memory Controller Hub (rev 02)
- 00:01.0 PCI bridge: Intel Corporation 82945G/GZ/P/PL PCI Express Root Port (rev 02)
- 00:1b.0 Audio device: Intel Corporation N10/ICH 7 Family High Definition Audio Controller (rev 01)
- 00:1c.0 PCI bridge: Intel Corporation N10/ICH 7 Family PCI Express Port 1 (rev 01)
- 00:1c.2 PCI bridge: Intel Corporation N10/ICH 7 Family PCI Express Port 3 (rev 01)
- 00:1c.3 PCI bridge: Intel Corporation N10/ICH 7 Family PCI Express Port 4 (rev 01)
- 00:1c.4 PCI bridge: Intel Corporation 82801GR/GH/GHM (ICH7 Family) PCI Express Port 5 (rev 01)
- 00:1c.5 PCI bridge: Intel Corporation 82801GR/GH/GHM (ICH7 Family) PCI Express Port 6 (rev 01)
- 00:1d.0 USB Controller: Intel Corporation N10/ICH 7 Family USB UHCI Controller #1 (rev 01)
- 00:1d.1 USB Controller: Intel Corporation N10/ICH 7 Family USB UHCI Controller #2 (rev 01)
- 00:1d.2 USB Controller: Intel Corporation N10/ICH 7 Family USB UHCI Controller #3 (rev  01)
- 00:1d.3 USB Controller: Intel Corporation N10/ICH 7 Family USB UHCI Controller #4 (rev 01)
- 00:1d.7 USB Controller: Intel Corporation N10/ICH 7 Family USB2 EHCI Controller (rev 01)
- 00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev e1)
- 00:1f.0 ISA bridge: Intel Corporation 82801GB/GR (ICH7 Family) LPC Interface Bridge (rev 01)
- 00:1f.1 IDE interface: Intel Corporation 82801G (ICH7 Family) IDE Controller (rev 01)
- 00:1f.2 IDE interface: Intel Corporation N10/ICH7 Family SATA IDE Controller (rev 01)
- 00:1f.3 SMBus: Intel Corporation N10/ICH 7 Family SMBus Controller (rev 01)
- 01:00.0 VGA compatible controller: ATI Technologies Inc RV770 LE [Radeon HD 4800 Series]
- 01:00.1 Audio device: ATI Technologies Inc HD48x0 audio
- 07:01.0 Multimedia audio controller: Creative Labs CA0106 Soundblaster
- 07:02.0 Communication controller: Conexant Systems, Inc. HSF 56k Data/Fax Modem
- 07:05.0 FireWire (IEEE 1394): Texas Instruments TSB43AB23 IEEE-1394a-2000 Controller (PHY/Link)

Solution 1:

Well here's your chipset and it's fairly mature:

http://ark.intel.com/products/27679/Intel-82801GB-IO-Controller

The Ethernet should be on the PCI bus, that it's not showing up can really only be attributed to a firmware issue. Whether you did it deliberately or some piece of software during the upgrade twiddled a port and shutoff your controller in the BIOS. It's essentially not there anymore.

Enter you BIOS ensure it's on, even if it is, toggle it off and on again, then, reset to defaults and reboot.

Turn off the boot splash screen for the BIOS and pay attention to the option roms loading. Do you see one for PXE? That would tell you for sure if your Ethernet is functioning correctly.

I doubt this was a driver regression, chipset is too old. If what I prescribed earlier didn't work try changing the acpi_osi tag to an earlier version of Windows. What can happen sometimes is Linux advertises itself as a newer version of Windows, which triggers conditional code executed in the BIOS.

It might be that pretending to be Windows 7 hit a bug in your firmware and as a result it decided not to present your Ethernet device. The result is no different than disabling the peripheral in the BIOS setup. Isn't runtime conditional code (ACPI) execution fun?