SiS900 transceiver problem - reviewed

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi!

This is still/again about my SiS900/RTL8201 on-board NIC. I had a patch, which solved the problem for me, but was rejected as general fix. So I went back to look at the problem again.

Provided, that this is not a completely different problem, where for instance, the initialisation of the NIC or MII goes wrong and the MII behavior at sis900_mii_probe() is already beyond the specification, I can see two general ways to fix my problem.

First would be to not select the illegal/not-working/wrong phy-addresses in the first place. I tried it using the MII_STAT_FAULT bit, which might indeed not be such a good idea. I don't know how many systems rely on the fact that they can use even unknown phy's. But if this is not the case, or not supposed to be the case, these could be skipped. Alternatively phy's with id0==0x?fff and id1==0x?fff, but I could find any document yet, telling me that this would be the right thing to do either.

Second would be to modify the selection of the default phy so that the correct one gets choosen. There is a type for each phy, that can be either HOME, LAN or MIX. This one seem to be uninitialized in case of an unknown phy transceiver. If that one could be defaulted to NONE(=0), it would be possible skip them or regard them in sis900_default_phy() with a lower priority then everything else.

I was running a few more tests while writing this. The MII_STAT_CAN_T4 bit of the MII status is changing when simply doing multiple reads of the status register. The changes appear to be random. So some phy addresses are correctly skipped by checking for 0xffff, but the majority isn't.

It comes to mind, that this is just a broken motherboard. But, when I first encountered the problem, I verified, that the NIC works running Windows 2000, using their driver. So they are either lucky with their implementation, or fixed it for one platform and forgot it for another.

Any thoughts or comments are welcome. If anybody has a MS-6701 with an on-board SiS900 and got it working - please tell me.

Grischa Jacobs

-
: send the line "unsubscribe linux-net" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Netdev]     [Ethernet Bridging]     [Linux 802.1Q VLAN]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Git]     [Bugtraq]     [Yosemite News and Information]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux PCI]     [Linux Admin]     [Samba]

  Powered by Linux