Search:  
Gentoo Wiki

HOWTO_Fix_network_device

Can't find your eth0? And it does appear on the LiveCD? This guide will help you find an ethernet device.

The procedure

Boot normally and run ifconfig -a if eth0 is not listed at all, your kernel module is not loaded.

Tip: If eth0 exists and has a HWAddr consisting of lots of zeros your eth0 is Ethernet over firewire. You may also have an eth1, which is your real ethernet or eth1 may be missing, in which case, you need to follow the steps for if eth0 is not listed at all, above but look for the appearance of eth1.

Proceed as follows:

  1. Boot the liveCD and check that networking works. Now run lsmod. Write down or print a list of the module names that are listed. One of them is your ethernet module.
  2. Once again, boot normally and run lsmod
  3. cross off the list any modules that appear. You don't have an eth0 so nome of these modules provided it.
  4. For every module not crossed off the list do:
    • modprobe <module_name>
    • ifconfig -a
    • When eth0 appears, you have discovered your module.
  5. Add the module to the list to be loaded at boot with
nano -w /etc/modules.autoload.d/kernel-2.6

Put the name you used in modprobe on a line on its own at the end of the file, save and exit. Bring up networking with the command

/etc/init.d/net.eth0 restart

if it works you are done, it will work after a reboot. If net.eth0 is not there, read the gentoo handbook.


Tip: Genkernel users will probably be OK, since almost every module known to Linus is made. If you made your kernel manually, you may have left the module out, in which case some of the modprobe attempts will result in error messages and you will need to make a module for your kernel. You will know this if you get to the end of your list and eth0 has not appeared.

If your ethernet device is an Ethernet over Firewire device proceed as follows. If it is not, your problems should be fixed by now. Delete the eth1394 module from the kernel modules tree. In future, when you build kernels, ensure that Ethernet over firewire is not selected in make menuconfig - no need to do that just now. run the command

modprobe -l | grep eth1394

to find the file eth1394.ko and remove it with

rm /path/to/eth1394.ko

Reboot. Your real Ethernet will be eth0 and if your /etc/conf.d/net is correct, eth0 will get an IP.

Retrieved from "http://www.gentoo-wiki.info/HOWTO_Fix_network_device"

Last modified: Fri, 05 Sep 2008 22:56:00 +0000 Hits: 2,731