[eepro100] errors with > 200k transfers

Darrell Schiebel drs@nrao.edu
Mon Dec 10 10:31:01 2001


On Sunday, December 9 2001 at 11:57EST, Donald Becker wrote: 
>On Fri, 7 Dec 2001, Darrell Schiebel wrote:
>
>> I have a (great) IBM ThinkPad X22. However, I get errors from the
>> ethernet card, which the specs say is a "10/100 ethernet on
>> Communications Daughter Card / Intel 82562ET chipset". Linux picks the
>> eepro100 driver for this card.
>> 
>> I've tried this with the stock eepro100 driver which comes with 2.4.7-10
>> (RedHat) and 2.4.9-13. I also tried the current driver from the Scyld
>> website. While the Scyld driver seems to be somewhat of an improvement,
>> it still isn't quite right; transfers take an inordinate amount of time
>> with the driver repeatedly resetting the chip.
>
>Run 'eepro100-diag' and see if the "sleep mode" bit is set in the
>EEPROM.  If so, run
>    eepro100-diag -G 0 -w -w -f
>to clear the bit.

	Thanks for the suggestion.. however, eepro100-diag doesn't seem
	to interface with the adapter correctly... when I first tried to
	run eepro100-diag, it reported:

------------------------------------------------------------------------------
[root@dhcp-dyn05 eepro100]# ./eepro100-diag
eepro100-diag.c:v2.05 6/13/2001 Donald Becker (becker@scyld.com)
 http://www.scyld.com/diag/index.html
Unable to find a recognized card in /proc/pci.
If there is a card in the machine, explicitly set the I/O port address
  using '-p <ioaddr> -t <chip_type_index>'
 Use '-t -1' to see the valid chip types.
------------------------------------------------------------------------------

	So I loooked in the syslog file and found:

------------------------------------------------------------------------------
Dec 10 09:02:43 dhcp-dyn05 kernel: eepro100.c:v1.18 11/7/2001 Donald Becker <becker@scyld.com>
Dec 10 09:02:43 dhcp-dyn05 kernel:   http://www.scyld.com/network/eepro100.html
Dec 10 09:02:43 dhcp-dyn05 kernel: eth0: Intel Pro/100 VE (type 1031) at 0xd88af000, 00:C0:59:D3:A8:53, IRQ 11.
Dec 10 09:02:43 dhcp-dyn05 kernel:   Board assembly 000000-000, Physical connectors present: RJ45
Dec 10 09:02:43 dhcp-dyn05 kernel:   Primary interface chip i82555 PHY #1.
Dec 10 09:02:43 dhcp-dyn05 kernel:   General self-test: passed.
Dec 10 09:02:43 dhcp-dyn05 kernel:   Serial sub-system self-test: passed.
Dec 10 09:02:43 dhcp-dyn05 kernel:   Internal registers self-test: passed.
Dec 10 09:02:43 dhcp-dyn05 kernel:   ROM checksum self-test: passed (0x04f4518b).
------------------------------------------------------------------------------

	OK, so then I run "eepro100-diag -p 0xd88af000 -t 4 -f -e"...

------------------------------------------------------------------------------
[root@dhcp-dyn05 eepro100]# ./eepro100-diag -p 0xd88af000 -t 4 -f -e
eepro100-diag.c:v2.05 6/13/2001 Donald Becker (becker@scyld.com)
 http://www.scyld.com/diag/index.html
Assuming a Intel i82562 Pro/100 V adapter at 0xd88af000.
Intel EtherExpress Pro 10/100 EEPROM contents:
  Station address FF:FF:FF:FF:FF:FF.
  Board assembly ffffff-255, Physical connectors present: RJ45 BNC AUI MII
  Primary interface chip i82555 PHY #-1.
    Secondary interface chip i82555, PHY -1.
   Sleep mode is enabled.  This is not recommended.
   Under high load the card may not respond to
    PCI requests, and thus cause a master abort.
------------------------------------------------------------------------------

	It doesn't identify the address, board assembly or connectors
	properly... it also always thinks the adapter is active (even
	in single user mode)... using '-ee' produces a table with all
	bits set, e.g.

------------------------------------------------------------------------------
EEPROM contents, size 256x16:
    00: ffff ffff ffff ffff ffff ffff ffff ffff
	     [...]
  0xf8: ffff ffff ffff ffff ffff ffff ffff ffff
 *****  The EEPROM checksum is INCORRECT!  *****
  The checksum is 0xFF00, it should be 0xBABA!
------------------------------------------------------------------------------

	Perhaps I'm missing something obvious, but any other suggestions
	would be appreciated.

								thanks,
								Darrell