1.09q timeout slow? Part II

Donald Becker becker@cesdis1.gsfc.nasa.gov
Thu Sep 23 08:57:18 1999


page.  It is useful, but very limited.  For instance, it identifies the chip
register bit fields, but doesn't describe what they do.  And it doesn't
describe the Tx or Rx data structures, commands, or how to configure the chip.


On Thu, 23 Sep 1999, Steve wrote:

> Oh, the kernel log of the transmitter timeout is:
> 
> Sep 23 01:02:16 random kernel: eth0: Transmit timed out: status 0050
> 0070 at 1211537/1211549 command 000c0000.
> Sep 23 01:02:38 random kernel: eth0: Transmit timed out: status 0050
> 0070 at 1219819/1219831 command 000c0000.
> Sep 23 01:04:56 random kernel: eth0: Transmit timed out: status 0050
> 0070 at 1261353/1261365 command 000c0000.
> 
> Does this mean that "0050" is the SCBStatus deciphered as:
>     RUS (Receive Unit Status) = 0x04
>     CUS (Command Unit Status) = 0x01

Yes. The eepro100-diag program has a table of the status fields.

> And SCBCmd "0070" is:
>    CUC (Command Unit Command) = 0x07      RxResumeNoResources?
>    RUR (Receive Unit Command) = 0x00

Not quite.  The command unit is showing a command of CUDumpStats, which
I do just after the timeout is detected.  I've just moved this to after the
printk(), so that we see the correct status during a timeout.

Also do not confuse the Command Unit (CU) commands put in Tx descriptors
with the System Control Block (SCB) commands written to the chip command
register.  BTW, those are Intel's names/acronyms -- I try to be a little
clearer when naming things.

Donald Becker					  becker@cesdis.gsfc.nasa.gov
USRA-CESDIS, Center of Excellence in Space Data and Information Sciences.
Code 930.5, Goddard Space Flight Center,  Greenbelt, MD.  20771
301-286-0882	     http://cesdis.gsfc.nasa.gov/people/becker/whoiam.html