# No eth0! [SOLVED]

## Steve S.

Hello all, I'm back, with more seemingly unusual questions.

Using the same hard drive, but now have an AMD k8 cpu64 setup. The problem now is, the livecd setup sees the eth0 (which it didn't with the last mobo) and sets up the driver and all that, so I have internet when I run the livecd. But, somehow, after repartitioning (for the new mobo setup, just in case) I guess I missed something, 'cause it doesn't show anything for eth0 when I run ifconfig outside of livecd.  :Confused: 

It probably wasn't necessary, but I checked in /etc/resolv.conf and there wasn't anything, so I put in my nameserver info. That didn't give me internet, though.

Any suggestions on how to get my eth0 to be found when I am not in livecd? What did I miss?

Thanks for any help you can give me on this.Last edited by Steve S. on Fri Nov 04, 2005 2:22 am; edited 1 time in total

----------

## nixnut

Moved from Installing Gentoo to Networking & Security.

You probably missed including the driver for your network card in the kernel. Or it was built as a module, but isn't automatically loaded on boot. Happens to lots of people. Search the forums to find some examples and how to solve such problems.

----------

## Steve S.

 *nixnut wrote:*   

> Moved from Installing Gentoo to Networking & Security.
> 
> You probably missed including the driver for your network card in the kernel. Or it was built as a module, but isn't automatically loaded on boot. Happens to lots of people. Search the forums to find some examples and how to solve such problems.

 

Thanks, will do.  I tried one such suggestion last night, but I'm certain you're right and that there are more out there, so I'll seek and find.  Just thought there was a simple solution...

----------

## ugus

Is the modul driver for networkt card loaded ?

Can you see your driver in output from ? 

```
lsmod
```

----------

## Steve S.

 *ugus wrote:*   

> Is the modul driver for networkt card loaded ?
> 
> Can you see your driver in output from ? 
> 
> ```
> ...

 

I'll check.  I'm also going to run through the "1. Getting Started" link I saw in another thread, just to be sure.

Ugus, can you give me an example of what I should be looking for?  I'm still in the newbie category on much of this stuff...

----------

## ugus

 *Steve S. wrote:*   

> I'll check.  I'm also going to run through the "1. Getting Started" link I saw in another thread, just to be sure.
> 
> Ugus, can you give me an example of what I should be looking for?  I'm still in the newbie category on much of this stuff...

 

I have RealTek RTL8139 Ethernet Card and the its driver is 8139too. If you look at the out put of the lsmod below, you can see that, the driver is loaded.

```

vmnet                  26404  9

vmmon                 160428  0

8139too                21504  0

mii                     4480  1 8139too

i810_audio             32148  1

ac97_codec             17036  1 i810_audio

vfat                   10112  3

fat                    44572  1 vfat

parport_pc             29252  1

lp                      9156  0

parport                30152  2 parport_pc,lp

cisco_ipsec           562060  0

nvidia               3704904  12

dm_mod                 49212  0

ata_piix                7300  0

sata_via                5892  0

sata_svw                5380  0

sata_sil                6532  0

sata_promise            7684  0

libata                 39812  5 ata_piix,sata_via,sata_svw,sata_sil,sata_promise

sbp2                   21256  0

ohci1394               30516  0

ieee1394               84404  2 sbp2,ohci1394

ohci_hcd               18052  0

uhci_hcd               29712  0

usb_storage            29572  0

usbhid                 30560  0

ehci_hcd               27144  0

usbcore               102396  6 ohci_hcd,uhci_hcd,usb_storage,usbhid,ehci_hcd

```

----------

## Steve S.

I want to emphasize that I am actually trying to learn gentoo as I go, so Im not necessarily looking for the easy way out (although it is nice occasionally).  In other words, Im trying to understand, but I just dont know the step Im missing.  Im sure its something that is assumed, but I cant get it.  I've scanned the forum but simply cannot find what I am missing.

Here is what I did just now:

I booted up the livecd.

I ran lsmod (I think you wanted me to run it outside of livecd, but I was trying a hunch to see if the driver that the livecd was using would be listed there).  It gave a list of things, but Im not sure which driver it was that was getting livecd onto the internet.

So, I ran lspci, and found out that, like my mobo manual suggests, my Ethernet controller is Marvell Technology Group Ltd. 88E8001 Gigabit Ethernet Controller.

So, I then ran cd /usr/src/linux and make menuconfig, and went in to find what my driver was.  I think I found it, put an * by it, then got out of there.  I then followed the handbook and configured my kernel by doing:

	make && make modules_install

then I copied the kernel image to boot, again according to the manual, by doing:

	cp arch/i386/boot/bzImage /boot/kernel-2.6.12-gentoo-r6

then copied over my kernel configuration file to /boot,

	cp .config /boot/config-2.6.12-gentoo-r6

Then I got out of the chrooted environment, unmounted everything, then rebooted without the live cd.  I then entered:

	dhcpcd

just in case dhcpcd wasnt turned on, then I tried to ping something, with the same ill effects:

	ping c 3 www.yahoo.com      and    ping www.yahoo.com

both came back with unknown host.  I tried a few other sites, just for fun, all unknown.

So, then I ran:

	nano w /etc/conf.d/net 

to see what was in it.  It is blank.

So, what do I need to do?  Look in  /etc/conf.d/net again and do what 1. Getting Started a la the Gentoo handbook says?  If I do, how do I know what numbers to put in there?

As Im seeing it, I essentially havent loaded the driver correctly, and am probably missing some other stuff as well.

Please help.

----------

## daywalkerNT

Hello,

Out of curiosity, did you add eth0 to the default runlevel ?

gentoo# rc-update add net.eth0 default

Also, you mentioned that /etc/conf.d/net was empty, in order for your eth0 to get an IP, either manually

entered, or dhcp, you have to set-it-up in there:

config_eth0=( "dhcp" )

'dhcpcd' should come up after "Entering RunLevel 3" on bootup, right before it finishes and you get 

the login#

----------

## Steve S.

 *daywalkerNT wrote:*   

> Hello,
> 
> Out of curiosity, did you add eth0 to the default runlevel ?
> 
> gentoo# rc-update add net.eth0 default
> ...

 

I gave it a shot, daywalker, no soap.

Here's what it says right before the root login:

Starting eth0

   Bringing up eth0

      dhcp

         eth0 does not exist

Starting local...

Does that tell us anything more?

----------

## at240

Hi Steve

A few questions:

1 Did you emerge dhcpcd? (I'm guessing you did)

2 Did you copy over your /etc/resolv.conf from the liveCD environment?

3 Does your IP actually get assigned by dhcp?

----------

## Triptol

So the eht0 was not found by the kernel (at least it looks like that). 

Could you try your kernel configuration and check the following:

- Select the menu "Network device support" and then "Ethernet(1000Mbit)"

- Mark "Marvell Yukon Chipset / SysKonnect SK-98xx family support" either as module (M) or built in (*)

If you compile it as a module, make sure it is loaded at startup by adding it to /etc/modules.autoload.d/kernel-2.6. The name of the module will be sk98lin. So the following should work:

```
echo sk98lin >> /etc/modules.autoload.d/kernel-2.6
```

----------

## Steve S.

 *Triptol wrote:*   

> So the eht0 was not found by the kernel (at least it looks like that). 
> 
> Could you try your kernel configuration and check the following:
> 
> - Select the menu "Network device support" and then "Ethernet(1000Mbit)"
> ...

 

First of all, thank you all so much for your input...anything and everything has to be a step in the right direction.

Ok, Triptol, I checked my "Network device support" even though I was pretty sure that I had selected that driver just recently.  I was right, I had.  So, I reloaded the module and etc. and got out of there.

I then booted without the livecd and typed in echo sk98lin >> /etc/modules.autoload.d/kernel-2.6 at the root.

Then I typed in dhcpd, then pinged, no dice.

So, still missing something...but what?

----------

## Steve S.

 *at240 wrote:*   

> Hi Steve
> 
> A few questions:
> 
> 1 Did you emerge dhcpcd? (I'm guessing you did)
> ...

 

All good suggestions, as far as I know.  The answer is yes to all.

So, from a complete newby's point of view, it appears that dhcp is working fine, but eth0 is just not being found, therefore the driver has not been transfered over to the non-livecd environment.  I just need to know what I am missing and/or how to do that.

----------

## daywalkerNT

If you do a `dmesg | more`   does it complain at all for eth0?

i looked up "ifplugd" which says autoconfig's your NIC:

"ifplugd is a Linux daemon which will automatically configure your ethernet device when a cable is plugged in and automatically unconfigure it if the cable is pulled. This is useful on laptops with onboard network adapters, since it will only configure the interface when a cable is really connected."

I have two ideas, one, check if that's got anything to do with it, not 100% sure that it

does.... you could try removing networking support from your kernel, copy the bzImage over

to /boot .........reboot, then re-compile the kernel.

Funny thing is, this happened to me once, I re-installed Gentoo, *exactly the same way* and i

didn't have this problem.........(anyone else ? )

Good Luck man

----------

## Steve S.

Thanks, Daywalker.

I'm checking on the info in https://forums.gentoo.org/viewtopic-t-391173-highlight-grub.html, which is one of the threads that I think was inferred to before.  I just found it today.

I tried some of what you mentioned, even the start from scratch approach (repeatedly, actually), but haven't got it yet.

I feel like I'm right on the edge of discovery, just haven't found it yet.  I ran some stuff and upon startup one of the error messages (not a green "Ok" but the !! instead) said:

No /etc/dhcpd.conf file

...not really sure if that is good or bad.  In my case, most likely it's bad...  :Confused: 

Then I checked in my /mnt/grub/grub.conf file to see if I had that and if it needed edditing (like the thread that I mentioned before) and it was empty.  I'm speculating, but it seems to me if I need grub to point to my eth0 driver and there is nothing in that file, then it is probably bad.  :Rolling Eyes: 

So, I'm going to painstakingly reread (for the quadramilionth time) the handbook, looking specifically for comments on grub and my /etc/dhcpd.conf file.

Anyone else have some suggestions?  Please help the lowly, brain-cooked noob.

----------

## ugus

 *Steve S. wrote:*   

> 
> 
> I gave it a shot, daywalker, no soap.
> 
> Here's what it says right before the root login:
> ...

 

 Hi Steve

```
eth0 does not exist
```

i think this means, that your card module was not loaded properly. What i can suggest you, you can build your Kernel with genkernel with default kernel config file( which is also used by live cd). instead of compiling it maunually [you say it works with live cd, then it should also work with the .config from livecd compiled kernel].

After you get your system working, you can rebuild your kernel, and get rid of unnecessary options from kernel configuration.

Good Luck

----------

## guduri

Make sure you include the module required for your card. It should be the 8129too module in your kernel autoload modules file. Also create the module by in the kernel config located at

Device Drivers ----->

Networking Support ----->

Ethernet (10 or 1000 Mbit) ----->

(Pick your network card....RealTek RTL8139 Ethernet Card)

----------

## Steve S.

 *guduri wrote:*   

> Make sure you include the module required for your card. It should be the 8129too module in your kernel autoload modules file. Also create the module by in the kernel config located at
> 
> Device Drivers ----->
> 
> Networking Support ----->
> ...

 

Thanks for the tips, guduri, but I have a couple of questions.  Why is it the 8129too module (how do you know) and I think my card is the Marvell one (is your RealTek just an example or do you have a hunch I don't know about?).

----------

## guduri

That was just an example since it was referred to in one of the replies. If you have Marvell card you need to pick that.

----------

## ugus

Make life easier for you for a Beginn by compiling with genkernells default .config file. You can always change things also later...

----------

## DaveArb

 *Steve S. wrote:*   

> Here is what I did just now:
> 
> I booted up the livecd.
> 
> I ran lsmod (I think you wanted me to run it outside of livecd, but I was trying a hunch to see if the driver that the livecd was using would be listed there).  It gave a list of things, but Im not sure which driver it was that was getting livecd onto the internet.
> ...

 

What you don't mention in the quote above, is mounting /boot. If you didn't mount it (and followed the guide by having it not auto-mounted), you aren't booting your new kernel.

Dave

----------

## Steve S.

Hello all,

I mentioned this in another response/thread, but I wanted to count this one as solved.

I had set up the system according to the handbook without genkernel then I eddited menuconfig myself.  I had interent when I started, but not once I had my system set up.  I went back into menuconfig and found what I was sure was my ethernet driver (according to all the documentation) and still wasn't able to get the interent (except in livecd).  I tried a variety of other drivers and had no success outside of the livecd environment.

Then my friend walked me through genkernel, explaining that it was essential designed to create the same environment as livecd, then genkernel all, then run the make command and copy over what needs to be copied (all laid out in the Installation Handbook).  Basically that set up whatever was on the livecd onto my system.

That took care of it.  Upon looking deaper into the system we found that it was a driver that had "skge" in it's prefix, but I was unable to locate it execpt by running genkernel.

----------

