Hello there, the sis900 ethernet driver (revision 1.08.06, Sep 24 2002) fails to read the card's MAC address with certain current chipsets. It seems that SiS introduced new variants of their 962/963 chipsets, called 962L and 963L; the only obvious difference to the standard versions is that the IEEE 1394a firewire controller has been removed. My motherboard uses the 963L; the PCI IDs are vendor 0x1034, device 0x900, revision 0x91, which is exactly the same as for the standard 963, and so the driver identifies it as the latter. The 962/963 have an EEPROM (which is shared with the firewire controller), and the MAC address must be read from there. However, it looks like this EEPROM is not present in the 963L (all reads just return 0xFFFF words), and so the MAC address is detected as FF:FF:FF:FF:FF:FF (which corresponds to the broadcast address, so some things like ping actually work...) The correct procedure to obtain the MAC address is the one from sis635_get_mac_addr(); at least this is what works for my hardware. Sorry, I can't provide a patch, since I'm not sure what the best way is to distinguish between the 963 and 963L chipsets. One possibility is to try the EEPROM approach first, check whether it returns a valid result, and call sis635_get_mac_addr() otherwise (but there might be other reasons why the EEPROM read fails on a real 963?) Alternatively, one might do a PCI scan to check whether the firewire interface is present (I can't test that since I only have the version without.) BR, Michael - : 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