eth0 device not appearing on Dell e1505 with Broadcom Ethernet
Q I am running Ubuntu 8.04 on a Dell e1505 with a Broadcom Ethernet controller. A while ago (I may have been running 7.04 or 7.10 around that time) I installed Windows and updated my BIOS. After that, I noticed the eth0 was gone and I reverted to the old BIOS version, but the problem remained. I formatted the entire hard drive and reinstalled Ubuntu. My eth0 interface did not appear when I ran ifconfig. I ran lspci, and the Ethernet controller was not listed (Network Controller was still listed). /etc network/interfaces lists the loopback interface, but that's it. I tried manually changing the file to include eth0, and then ran ifup -a, but to no avail. I reset the BIOS configuration to factory settings. Wireless works fine with Ndiswrapper. When I plug a cable into the Ethernet port, the little lights show orange/red, but not green. What is the problem? Is it BIOS related, is it driver related? What do I do?
A If the interface does not show up in lspci, it is almost certainly not there. Even if the device were not recognised, which would be surprising for a Broadcom device, lspci would show the manufacturer and product ID numbers. Do you have any unrecognised devices in the lspci output? If so, search the web for those PCI ID numbers. Ifconfig shows only configured devices, although adding -a shows all interfaces, it is still limited to devices for which a driver is available and loaded. If there is no sign of the device, there are two likely causes: that you have had some sort of hardware failure or that it is disabled in the BIOS.
The lack of cable detection also points to a non-working Ethernet port. The chances of a hardware failure coinciding with a BIOS update are only likely if you are a follower of the teachings of Murphy, so I would start by looking at the BIOS options. Updating the BIOS often wipes the settings, resetting everything to the default. If the default of this BIOS update is to disable the wired Ethernet and leave only the wireless active, you have found the cause. Check the BIOS options and experiment with anything relating to the network controller. I would also see if there is a further BIOS update available, because the one you installed may well be the cause of the problem. If your Ethernet controller is truly broken, and the laptop is out of warranty, the easiest option would be to use a USB or PC-Card Ethernet controller.
Several of these devices are supported in recent Linux kernels, so find out what is available and check for support before you buy, or find a helpful dealer who will let you plug the device into your machine before buying it. lsusb should show the device and ifconfig -a will show the network interface if the driver is loaded, even if the network is not configured or even connected.
Follow us on Identi.ca or Twitter