Re: Integrated ethernet on SiS chipset doesn't work
From: Jean Francois Martinez
Date: Thu Jul 29 2004 - 14:44:22 EST
A few weeks ago I reported a problem with the Sis driver but the
poerson who owns the machine was out of town
Le dim 11/07/2004 Ã 12:16, Daniele Venzano a Ãcrit :
> On Sun, Jul 11, 2004 at 11:26:54AM +0200, Jean Francois Martinez wrote:
> > 2) The Sis 900 driver is supposed to be _supported_ ie someone is being
> > paid for fixing problems. It has the highest maintenance status so
> > its problems are made to be fixed.
> The email listed in the MAINTAINERS file bounces, so the driver is not
> supported so well, I'm acting as maintainer, but no one is paying me.
>
> The sis900 driver driver works in most cases, I am aware of some issues,
> mostly caused by new hardware not known by the driver. These problems,
> however, cause slowdowns, but the card is always detected.
>
> So before saying anything let's wait for the poster's dmesg.
>
Here is the interesting part of his dmesg, after reloading the
sis900 driver. We can see that the card
indentifies a VIA transceiver at address 1 but instead uses the
(inexistent) one at address 31.
When we look at the sis_default_phy function we notice that there is
a loop on the transceivers and that the first one to answer and have
a link will be selected. If none answers then we end with the one
at address 31 (despite the varibale being named first_mii) and that
is what is probably happened.
The code looks quite absurd because it continues to loop after finding
an eligible transceiver despite the fact that transceivers with
higher addresses are uneligible to be selected as default.
Now the question is why the VIA transceiver is not answering the probe
or is reporting it has no link despite having one.
---
Jean Francois Martinez
NETDEV WATCHDOG: eth0: transmit timed out
eth0: Transmit timeout, status 00000005 00000000
eth0: no IPv6 routers present
NETDEV WATCHDOG: eth0: transmit timed out
eth0: Transmit timeout, status 00000005 00000000
sis900.c: v1.08.06 9/24/2002
eth0: Unknown PHY transceiver found at address 0.
eth0: VIA 6103 PHY transceiver found at address 1.
eth0: Unknown PHY transceiver found at address 2.
eth0: Unknown PHY transceiver found at address 3.
eth0: Unknown PHY transceiver found at address 4.
eth0: Unknown PHY transceiver found at address 5.
eth0: Unknown PHY transceiver found at address 6.
eth0: Unknown PHY transceiver found at address 7.
eth0: Unknown PHY transceiver found at address 8.
eth0: Unknown PHY transceiver found at address 9.
eth0: Unknown PHY transceiver found at address 10.
eth0: Unknown PHY transceiver found at address 11.
eth0: Unknown PHY transceiver found at address 12.
eth0: Unknown PHY transceiver found at address 13.
eth0: Unknown PHY transceiver found at address 14.
eth0: Unknown PHY transceiver found at address 15.
eth0: Unknown PHY transceiver found at address 16.
eth0: Unknown PHY transceiver found at address 17.
eth0: Unknown PHY transceiver found at address 18.
eth0: Unknown PHY transceiver found at address 19.
eth0: Unknown PHY transceiver found at address 20.
eth0: Unknown PHY transceiver found at address 21.
eth0: Unknown PHY transceiver found at address 22.
eth0: Unknown PHY transceiver found at address 23.
eth0: Unknown PHY transceiver found at address 24.
eth0: Unknown PHY transceiver found at address 25.
eth0: Unknown PHY transceiver found at address 26.
eth0: Unknown PHY transceiver found at address 27.
eth0: Unknown PHY transceiver found at address 28.
eth0: Unknown PHY transceiver found at address 29.
eth0: Unknown PHY transceiver found at address 30.
eth0: Unknown PHY transceiver found at address 31.
eth0: Using transceiver found at address 31 as default
eth0: SiS 900 PCI Fast Ethernet at 0xe800, IRQ 11, 00:0c:76:68:a9:89.
NETDEV WATCHDOG: eth0: transmit timed out
eth0: Transmit timeout, status 00000005 00000000