The problem, with a proposed (but non working) solution is described here. I received another report, with the same hardware. In this case there are no hangs, but the badwidth is limited to 400Kb/s. See this page for reference.
I found out that this problem is related to the PHY transceivers one (see below), so you should go there and read carefully.
I added the Altimata PHY chip to the list builtin in the driver with the help of Stuart Bennet, so, hopefully, this is fixed once for all.
The PCI device ID has changed between 2.6.3 and 2.6.6 kernel versions, this is not a bug but a feature, Mark M. Hoffman has an explanation in message 20040517160325.GA9997@earth.solarsys.private:
It was this patch, which I wrote:
http://marc.theaimsgroup.com/?l=linux-kernel&m=107939686916811&w=3
The patch was necessary to enable the SMBus device (commonly used
for hardware sensors). It will cause SiS chipsets that claim to
be 0x0008 but are capable of being 0x0018 to make the change.
For this issue a patch is available as sis900-isa-bridge-id (see below).
| Name | Description | Kernel version | Status | Dependencies |
|---|---|---|---|---|
| sis900_c_89.diff | Forgotten missing prefix | 2.6.11-rc2 | I (2.6.11-bk) | 84-88 |
| sis900_c_88.diff | Chip revision | 2.6.11-rc2 | I (2.6.11-bk) | 84-87 |
| sis900_c_87.diff | Debug output rework part 3, new printk()s, use netif_msg | 2.6.11-rc2 | I (2.6.11-bk) | 84-86 |
| sis900_c_86.diff | Debug output rework part 2, output prefix and printk priority | 2.6.11-rc2 | I (2.6.11-bk) | 84,85 |
| sis900_c_85.diff | Version bump | 2.6.11-rc2 | I (2.6.11-bk) | 84 |
| sis900_c_84.diff | Debug output rework part 1, set up netif_msg code | 2.6.11-rc2 | I (2.6.11-bk) | None |
| sis900-list-phy-ids.diff | Prints the PHY ids and force selection of PHY at address 1 | 2.6.7 | N | None |
| sis900-module-param.diff | Convert sis900 to new style module parameters | 2.6.9 | I (2.6.10) | None |
| sis900-new-altimata-phy.diff | Add new Altimata PHY chip to the list of known IDs | 2.6.9 | I (2.6.10) | None |
| sis900-codingstyle.diff | CodingStyle and whitespace fixes for sis900.c | 2.6.8 | I (2.6.10-rc) | None |
| sis900-new-national-phy.diff | Add new National S. PHY chip to the list of known IDs | 2.6.8 | I (2.6.9) | None |
| sis900-isa-bridge-id | Add ISA bridge PCI ID | 2.6.6 | I | None |
| sis900-phy-detection | Fix detection of PHY transceiver | 2.6.6 | I | sis900-isa-bridge-id |
| sis900-header-cleanups | Cleanup and spelling fixes (obsoleted by more recent patches) | 2.6.6 | O | sis900-isa-bridge-id |
| sis900-detach | Add missing netdev_detach to sis900 driver | 2.6.5 | O | None |
| sis900-pm | Add power management (pmdisk) to sis900 network driver | 2.6.0-test9 | I (2.6.1) | None |
Meaning of the Status column: