From Bugzilla Helper: User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:0.9.5) Gecko/20011013 Description of problem: Many (I would guess most) SIS900 based network interfaces are designed to use the embedded PHY built into the chip instead of an external PHY. This is certainly true of SIS Chipsets which have the SIS900 embedded into them (e.g. SIS630, SIS730 etc.). The SIS900 is designed with a special register for accessing this internal PHY refered to in the documentation as the "Enhanced PHY Control Register" or EHPHY. However, the current device driver ignores this register and simply attempts to talk to any of 32 possible external PHY's which may be connected via the MDIO signals. This works fine in many (possibly most) cases because the internal PHY is ALSO connected to the MDIO bus. Unfortunately it is NOT connected to the MDIO bus in ALL cases. Certain steppings of the SIS630 (SIS630 ET for instance) apparently don't connect the SIS900 internal PHY in this way. I have modified the SIS900 driver to use the EHPHY register to control the PHY for PHY address 0 if possible. If it cannot communicate to the PHY using the EHPHY register it attempts to use MDIO. For all other possible PHY addresses (PHY1 - PHY31) it uses MDIO. I have the source and can provide it to you. I have seen many posts where people have had the identical problem. This problem goes back many releases and should be fixed ASAP. Version-Release number of selected component (if applicable): How reproducible: Always Steps to Reproduce: 1.Attempt to load the SIS900 driver module (sis900.o) on a SIS600ET based system. 2. 3. Actual Results: Driver complains that there are no PHYs attached. Will not load and therefore, cannot use the built in network adapter on the motherboard. Expected Results: Module should load, auto-negotiate and provide network interface. Additional info: I can send you the modified source files (sis900.c and sis900.h) or I can diff them and send you those. I set the Severity to HIGH because without a fix, there are a lot of people out there who will never figure out how to get their network interface to work. Also they can't do a network install which in my opinion is a major problem. This problem shows up in a number of low-cost machines and could cause people trying Linux for the first time on these machines to "give up". That's bad for the community eh?
while I can't guarantee inclusion (I would need to see it first), I'm more than willing to take a look!
I sent the modified files (sis900.c and sis900,h) to arjanv along with a brief description of the changes I made.
Bugs 21514, 70927, 78576 "problem with module sis900.o" Motherboard with integrated ethernet card SiS900/7016 RH 8.0 do not sets eth0 automatically as usually on other computers. I suppose it shut work with sis900.o? Command "modprobe sis900" gives such ansver: "No such device Hint: insmod errors can be caused by incorrect module parameters, including invalid IO or IRQ prameters." I tried to set IO and IRQ, but the command "modprobe sis900 IRQ=11 IO=d400" warns: "Warning: ignoring IRQ=11, no such parameter in this module Warning: ignoring IO=d400, no such parameter in this module"
The original bug I reported in 7.3 was apparently fixed in 8.0 which installed flawlessly on all 3 motherboards I have which use an embedded SIS900. It turns out that the SIS630ET needs an additional bit to be set in it's SIS900 variant in order for MDIO to work. I believe the original SIS900 documentation says all bits in the register in question are "reserved" so somebody knows something we don't. The original hack I proposed will work in 7.3 and I imagine in 8.0 as well, so if newer SIS Chipsets have similar problems, it might help. How could I make my hacked SIS900 driver files available to the community?
I belive the updates came from SiS