# what to do with absent eth0?

## voun

I have just installed Gentoo & during the install dhcp worked fine.

But rebooted I found I can't det it working.

It is installed in VmWare.

There is no such a device in /dev/ like eth0 or any other eth...

I booted from LiveCD and lscp said i have "....[AMD] ... " Ethernet card.

I turned it on in kernel config ,compiled ,rebooted ,but you see this post... :Sad: 

(maybe I turned on a wrong module in kernel config).

Maybe there is not enough info here, but I hope someone did such a thing before. 

Thanks.

----------

## voun

and

lspci from LiveCD  writes this:

...

Ethernet Controller : Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE] (rev 10)

...

----------

## dwblas

rc-update --show should have

```
net.eth0      default

net.lo      boot

netmount     default
```

If not, then you didn't add them per the install instructions.

----------

## voun

```
net.eth0      default   --

net.lo      boot   +

netmount     default   +
```

net.eth0 isn't installed in default.

What to do now?

----------

## voun

Did this:

```
 rc-update add net.eth0 default 
```

Result on boot:

```

Briging up eth0

   Configuration not set for eth0 - assuming dhcp

   dgcp

      eth0 doesn't exist      [!!]

```

So I think I've chosen a wrong Ethernet driver in kernel config...

But I'm not sure. 

What else can be wrong?

----------

## dwblas

First step would be to try using genkernel to generate the kernel, copy it to boot, reboot and then compare the 2 config files if that works.  If it doesn't post what kind of an ethernet card you have and the Ethernet section of config from the genkernel install.

----------

## stephdum

vmware use th AMD PCnet32 PCI NIC

driver not not compiled by default

you need to recompile after having added it as a module

then load the pcnet32.ko module

then #/etc/init.d/net.eth0 start

steph

----------

## voun

I tried to config&make a kernel with modules which contain *AMD*  or PCnet or just look alike.

It did't work. I mean compiling with just these ones did't bring eth0 up.

The next step was to enable everythig in -->Network-->Ethernet 10-100Mb-->**

and -->Network-->**(only the things that could help to my mind)

Now I've got a working eth0.

1) The problem is - I've compiled them NOT as modules, but as part of a kernel.

2) How 2 determine which of the options, selected affect the eth0? (in this condition of the system)

If it doesn't work:

3) If I recompile all selected now to modules will it be easier to determine the necessary module?

4) How to determine which modules are now loaded, how 2 load & unload modules? (or )

----------

## stephdum

If you use vmware5 there is no reason why pcnet32.ko does make it

can you confirm ?

looking at your answer I think et0 it did show up just because the module was not loaded

I'll follow up as soon as I'm with a machine in front of me  and will send you the small list of commands to make it

steph

----------

## stephdum

#cd /usr/src/linux

make menuconfig

Device Driver

     Network Device Support

         Ethernet (10 oe 100Mbits)

               <M> Amd PCnet32 PCI support

compile again

#make && make modules_install

now, look in [/profile][/quote]

----------

## stephdum

sorry, don't know why it posted, let's follow

after compile the module pcnet32.ko modules is located in /lib/modules/2.6.13-gentoo-r5/kernel/drivers/net

go to this dir 

# cd  /lib/modules/2.6.13-gentoo-r5/kernel/drivers/net

then load module 

#insmod pcnet32.ko

then you can start eth0

#/etc/init.d/net.eth0 start

a this stage if everything is fine, you need to add pcnet32 to the list of modules loaded at boot for your kernel

#nano -w /etc/modules.autoload.d/kernel-2.6

add a line including :

pcinet32

oups, I have forgotten one important thing : if you want to be able to unload module (using #modprobe -r modulename , for instance # modprobe -r pci32net - yes, withou .ko) you need to activate the option in compile config in "Loadable Module support" section

steph

----------

## sundialsvc4

You obviously don't have the right device-driver installed for your network card.  I frankly don't know if you can simply load the module, ex post facto, without doing additional steps to create the device-entry etc.

Probably the easiest way I've found to figure out which driver is needed is to:  bring up the LiveCD, activate the network, then lsmod to see which driver is controlling it.  I then compile that module into the kernel and restart.  (On my machines, the appropriate driver is simply tulip.)  

Maybe it's just me, but I prefer to arrange things so that no loadable modules are needed in order to use the network, the video, or the disks.  My systems don't require an initial RAMdisk at all, and I like it that way.

----------

## mamac

 *voun wrote:*   

> Did this:
> 
> ```
>  rc-update add net.eth0 default 
> ```
> ...

 

Hi,

Maybe you just mistyped dgcp instead of dhcp in /etc/conf.d/net , it's what i've just done...  :Wink: 

----------

