[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