# Unable to get sis191 Ethernet Card working

## mimosinnet

I am unable to get the ethernet working on a Fujitsu Esprimo Mobile v5535.

My card:

```
# lspci

00:04.0 Ethernet controller: Silicon Integrated Systems [SiS] 191 Gigabit Ethernet Adapter (rev 02)
```

sis190 module gets loaded:

```
# lsmod

Module                  Size  Used by

sis190                 20036  0

mii                     6912  1 sis190
```

Nevertheless, the ethernet devices does not show on ifconfig. This is the relevant dmesg info:

```
sis190 Gigabit Ethernet driver 1.2 loaded.

ACPI: PCI Interrupt 0000:00:04.0[A] -> GSI 19 (level, low) -> IRQ 19

PCI: Setting latency timer of device 0000:00:04.0 to 64

ieee80211_crypt: registered algorithm 'NULL'

0000:00:04.0: Read MAC address from APC.

0000:00:04.0: Can not find ISA bridge.

ACPI: PCI interrupt for device 0000:00:04.0 disabled

sis190: probe of 0000:00:04.0 failed with error -5
```

I have found in google the following suggestion, but it does not solve the issue:

```
echo 100 > /sys/class/firmware/timeout
```

Any hints would be appreciated.Last edited by mimosinnet on Wed Dec 26, 2007 10:23 pm; edited 2 times in total

----------

## mimosinnet

I have found this page, giving some clues on what to do.

One of the errors given by dmesg was:

```
0000:00:04.0: Can not find ISA bridge
```

My ISA bridge device number is: 

```
# lspci -nn

00:02.0 ISA bridge [0601]: Silicon Integrated Systems [SiS] SiS968 [MuTIOL Media IO] [1039:0968] (rev 01)
```

I have had a look into the module sis190.c in /usr/src/linux/drivers/net, and the ISA bridge device number of my board does not appear.  

```
# grep -C 10 isa_bridge sis190.c

 isa_bridge = pci_get_device(PCI_VENDOR_ID_SI, 0x0965, NULL);

        if (!isa_bridge)

                isa_bridge = pci_get_device(PCI_VENDOR_ID_SI, 0x0966, NULL);

        if (!isa_bridge) {

                net_probe(tp, KERN_INFO "%s: Can not find ISA bridge.\n",

                          pci_name(pdev));

                return -EIO;

        }
```

If I change the number from 0965 to my board number (0968) and recompile the kernel, I do not get the ISA error any more, but I am getting another error:

```
# dmesg | grep -C 10 sis190

sis190 Gigabit Ethernet driver 1.2 loaded.

ACPI: PCI Interrupt 0000:00:04.0[A] -> GSI 19 (level, low) -> IRQ 19

PCI: Setting latency timer of device 0000:00:04.0 to 64

ieee80211_crypt: registered algorithm 'NULL'

ieee80211: 802.11 data/management/control stack, git-1.1.13

ieee80211: Copyright (C) 2004-2005 Intel Corporation <jketreno@linux.intel.com>

0000:00:04.0: Read MAC address from APC.

0000:00:04.0: Unknown PHY transceiver at address 1
```

I would very much appreciate any help on how to get the ethernet card working.

----------

## mimosinnet

I have finally been able to get my sis191 card working by patching the kernel. I have taken the patch from Francois Romieu in bugzilla kernel.

I have saved the diff file in /usr/src/linux, and then applied the patch with:

```
patch -p1 -i [i]patchfile[/i]
```

I recompiled the kernel and it worked.

----------

