Gentlemen, could you please test a proposed update of the 2.2.18 kernel's 3c59x.c driver? It is at http://www.uow.edu.au/~andrewm/linux/3c59x-2.2.18-pre16-1.gz . You don't need to upgrade your 2.2 kernel to test this - it should just drop into 2.2.anything. The changelog is at http://www.uow.edu.au/~andrewm/linux/3c59x-2.2-changelog.txt. The relevant excerpt is included below. Thanks. 19 October 2000, Kernel 2.2.18-pre16 ==================================== - Added support for the 3c556B mini-PCI NICs. These devices are found in HP Omnibooks and IBM Thinkpad A10's. This support involves changes to the EEPROM handling and is still not fully correct - the driver needs an rmmod/insmod after a power management resume. Until we can find a datasheet for the EEPROM handling this is better than nothing. (Jon Chen, Louis Gerbarg, Fred Maciel). - Backported the transceiver options handling from 2.4. This is a slight non-upward-compatible change for this driver - where previously you had modprobe 3c59x options=0x08 to force full duplex, you now need modprobe 3c59x options=0x200. So the bit has moved. This is to allow media override of media interfaces 8-15. But you should not use `options=0x200'. Use `full_duplex=1' instead. (Maciej Rozycki) - Reworked the semantics of the `full_duplex' module parm. I never understood how this was supposed to work anyway. It is now unambiguous. If you use `full_duplex=1' you always get full duplex. If you use `full_duplex=0' you always get half duplex. If you use full_duplex=-1 you get the standard autoneg/autodetect/whatever behaviour. -1 is a no-op. This is done so if you have more than one 3c59x NIC you can force duplex on some and leave others to autodetect. For example, modprobe 3c59x full_duplex=1,-1,0 will force NIC 0 to full duplex, will force NIC 2 to half duplex and will leave NIC 1 alone to autodetect. - Removed all the code inside `#ifdef CARDBUS'. This driver does not support Cardbus devices - see the pcmcia-cs 3c575_cb.c driver fork for that. - Backported the INVERT_MII_PWR, EEPROM_8BIT and EEPROM_OFFSET flags from various places and used them. - Use EPROM_8BIT for the 3c555. There are now four reports that the driver doesn't work without this change, so I'm convinced. (Fred Maciel) - Merged the Wake-on-LAN support from one of Donald's drivers. (Georg Engstrand) - Merged back the 2.4 driver's Rx out-of-memory handling. Backed out the 24Jun00 minimal handling of this. - Replace suser() with capable(CAP_NET_ADMIN) in ioctl(). - : send the line "unsubscribe linux-net" in the body of a message to majordomo@vger.kernel.org