# Driver unable to find eth0

## seapotato

Hi everyone,

After finally getting gentoo up and running, I'm having issues with my ethernet card which my driver can't seem to find. The lspci command shows that I have a sis900 card installed and I first tried building the sis900 driver into my kernel, but this didn't work. I checked dmesg and /var/log/syslog and there was no mention of sis900 or eth0 in either. For my second attempt I tried to compile the driver as a module. This produced a message in dmesg about how the module should have in its name SMP. I took this to mean I should build SMP into the kernel as well which I just tried and now I get a message saying the module failed to load. I then tried modprobe sis900 which didn't spit up any errors and lsmod shows sis900 SIZE 13636 USED BY 0. However, /etc/init.d/netmount start and ifconfig eth0 up both say eth0 does not exist. 

I'm not sure where to go from here, so would be grateful if anyone could help a noob out.

----------

## DONAHUE

Just to confirm (and waste time based on your report): boot gentoo, run 

```
ifconfig -a
```

 if eth0 is listed you have a working nic and it has a driver. While here run  

```
lspci -k
```

, find the entry for your nic, check for "kernel modules:" and "driver in use:". Compare to results of following:

boot installcd, run 

```
lspci -k
```

, find the entry for your nic, check for "kernel modules:" and "driver in use:". If install cd does not support 

```
lspci -k
```

; Get and boot a system rescue cd which does or run 

```
lspci -n
```

 and paste the output at http://kmuto.jp/debian/hcl/ . Objective to identify a working driver and then add it to your kernel, preferably as module.

----------

## seapotato

Hi there, thanks for the reply. Here's what I got from the trying what you said:

For ifconfig -a: No eth0 listed

For lspci -k under the entry for my nic it said Kernel modules sis900 but did not mention kernel in use

I compared this to my livecd which said "Kernel module in use sis900" and "kernel modules sis900"

Finally putting the entry for my nic from the livecd into http://kmuto.jp/debian/hcl/index.rhtmlx returns the sis900 driver.

So it looks like the driver I've got is correct, but for some reason I don't understand, it fails when trying to load the module. I tried modprobe -v sis900, but it just sits there doing nothing.

----------

## mamac

Hi,

Do you have the following enabled:

```

-*- Networking support  --->

  Networking options  ---> 

    <*> Packet socket

    <*> Unix domain sockets

    [*] TCP/IP networking

    [*]   IP: multicasting

    [*]   IP: kernel level autoconfiguration

    [*]     IP: DHCP support

    <*>   IP: IPsec transport mode

    <*>   IP: IPsec tunnel mode

    <*>   IP: IPsec BEET mode

    <*>   INET: socket monitoring interface

    <*>   The IPv6 protocol  --->

```

Also you might need to enable some options in "Bus options (PCI etc.)  --->"

However I think you don't need to set the driver as a module, built in kernel should work fine.

----------

## seapotato

I just tried enabling almost everything in the networking options and building in the network driver and still have the same issue. It might well be some sort of bus option issue as I had some trouble booting at all until I set up my bus options exactly as detailed in  this  post.

----------

## DONAHUE

```
cd /usr/src/linux;make menuconfig
```

type / 

enter

type sis900

enter

this will display the help screen which should look like:

 *Quote:*   

> Symbol: SIS900 [=m]
> 
> Type  : tristate
> 
> Prompt: SiS 900/7016 PCI Fast Ethernet Adapter support
> ...

 

report any differences/post your result

```
lsmod | grep -i MII

lsmod | grep -i crc
```

 post results

----------

## seapotato

I got no differences in the info about sis900 and for the last two commands, lsmod reported nothing. In fact if I just use lsmod it returns a blank list of modules (the last compilation I did I built in the driver). I'm currently waiting for it to compile again with the driver as a module.

----------

## mamac

When you build drivers as module, are they loaded automatically during boot?

----------

## seapotato

Yes, when I build the driver as a module the system attempts to load it during boot but gives a message saying  failed to load module. Once I've logged on though, lsmod shows size 16344 and used by 0, but ifconfig -a shows no eth0.

----------

## mamac

Can you post output of lspci?

----------

## seapotato

Sorry for the late reply, here is the output of my lspci:

```

00:00.0 Host bridge : Silicon Integrated Systems [SiS] 630 Host (rev 11)

00:00.1 IDE interface : Silicon Integrated Systems [SiS] 5513 [IDE] (rev d0)

00:01.0 ISA bridge : Silicon Integrated Systems SiS85C503/5513 (LPC bridge)

00:01.1 Ethernet controller : Silicon Integrated Systems [SiS] SiS900 PCI Fast Ethernet (rev 80)

00:01.2 USB controller : Silicon Integrated Systems [SiS] USB 1.1 Controller (rev 07)

00:01.3 USB controller : Silicon Integrated Systems [SiS] USB 1.1 Controller (rev 07)

00:01.4 Multimedia audio controller : Silicon Integrated Systems [SiS] SiS PCI Audio Accelerator (rev 01)

00:01.6 Modem : Silicon Integrated Systems [SiS] AC'97 Modem Controller (rev 90)

00:02.0 PCI bridge : Silicon Integrated Systems [SiS] Virtual PCI-to-PCI bridge (AGP)

00:03.0 CardBus bridge : O2 Micro, Inc. 0Z6812 CardBus Controller (rev 05)

01:00.0 VGA compatible controller : Silicon Integrated Systems [SiS] 630/730 PCI/AGP Display Adapter (rev 11)

```

----------

## mamac

Is it still configured so the module is loaded automatically? If yes, what 'dmesg | grep -i sis' says?

Also what says 'ls -l /etc/init.d/net*'

Mine says:

```

# ls -l /etc/init.d/net*

lrwxrwxrwx 1 root root     6 Nov 14 21:18 /etc/init.d/net.eth0 -> net.lo

-rwxr-xr-x 1 root root 30690 Dec  4 21:52 /etc/init.d/net.lo

-rwxr-xr-x 1 root root  3307 Nov 14 21:18 /etc/init.d/netmount

lrwxrwxrwx 1 root root     6 May  1  2009 /etc/init.d/net.wlan0 -> net.lo

```

Links above are mandatory to start your network interface so you can see it with ifconfig (i.e. if I stop my eth0, then ifconfig doesn't display it).

My /etc/conf.d/net is not set for eth0, you shouldn't need anything there except maybe 'dns_domain_lo='

----------

## seapotato

The output of dmesg is

```

[    1.664260] pata_sis 0000:00:00.1 version 0.5.2

[    1.664260] pata_sis 0000:00:00.1 can't derive routing for PCI INT A

[    1.666683] scsi0 : pata_sis

[    1.670963] scsi1 : pata_sis

```

As for the the links, mine are the same except for I don't have an entry for wlan0 as there is no wireless on this machine.

----------

## mamac

Must be something missing in the kernel setup.

What says 'cat /usr/src/linux/.config|grep -i sis' and '/etc/init.d/net.eth0 start' ?

----------

## seapotato

I agree it is definitely something with the kernel, but what?  :Smile:  for the cat command I get:

```

#CONFIG_SATA_SIS is not set

CONFIG_PATA_SIS=y

CONFIG_SIS900=m

CONFG_SIS190=y

#CONFIG_SENSORS_SIS5595 is not set

```

Are the entries labeled not set, drivers that are required for my hardware that I haven't compiled?

For the second command I get an error saying eth0 does not exist.

----------

## mamac

dmesg must be screaming for something missing !

what about 'dmesg | grep -i tcp' or 'dmesg | grep -i ip'

Fresh kernel can be tricky to setup but come on, a network interface cannot be that difficult!  :Smile: 

----------

## mamac

I found an old thread: https://forums.gentoo.org/viewtopic-t-61740-view-previous.html?sid=96a9fd03b4ecaf2e9555f33f4925340f

dmesg says somwhere:

```

sis900.c: v1.08.06 9/24/2002 

eth0: Realtek RTL8201 PHY transceiver found at address 1. 

eth0: Using transceiver found at address 1 as default 

eth0: SiS 900 PCI Fast Ethernet at 0x8800, IRQ 10, 00:0c:6e:0e:7e:a8. 

```

Not sure that helps though, I can only find very old threads related to this NIC.

What dmesg says about eth0 when you boot the livecd?

----------

## seapotato

dmesg doesn't give any errors about ip or tcp. There is a newer version of the livecd, which I'm going to download and check out what it says. Thanks very much for the help by the way.

----------

## mamac

Welcome, I'm just curious about how we'll fix it.

----------

## seapotato

With the live cd I get the following for the cat command:

```

eth0: SiS 900 PCI Fast Ethernet at 0xd000, IRQ 11, 00:a0:cc:c5:90:58

eth0: Media Link On 100mbps full-duplex

```

Is there a verbose log of the initialization scripts? It just runs by saying failed to load module without stating why. And this isn't very helpful for trying to figure out what is going on.

----------

## mamac

Not sure how to get more info.

I would try to compile kernel with genkernel and see if you get a better kernel setup.

----------

## seapotato

Well, after about 36 hours of compilation time for genkernel, I get the same error  :Very Happy:  Oh well, I think it is time to give up on this old laptop and maybe get an old server from ebay. Thanks for the help though!

----------

