[vortex] 3c59x LK1.1.16 Linux-2.4 PCI bus error/Host error

epl@labyrinth.net.au epl@labyrinth.net.au
Sat Jul 27 10:21:01 2002


Apologies for the delay as the original email disappeared (with no
bounce messages). I suspect it was due to an attachment in the first
one. Let's hope there isn't a size limit too.

On Tue, 19 Jul 2002 Donald Becker wrote:

> It looks as if someone broke CONFIG_DEBUG_IOVIRT on your

   OK, my fault, I compiled my kernel with CONFIG_DEBUG_IOVIRT. The
kernel and modules used to produce the logs within this email has since
been recompiled.

> > Jul 18 20:52:52 localhost kernel: eth0: MII #24 status 7849, link partner capability 0000, setting half-duplex.
> > Jul 18 20:52:52 localhost kernel: eth0: vortex_open() irq 11 media status 8080.
> > Jul 18 20:52:52 localhost kernel: eth0: Media selection timer tick happened, Autonegotiate half duplex.
> > Jul 18 20:52:52 localhost kernel: eth0: MII transceiver has status 7849.
> 
> Still no link beat.
> What is the debugging level?

   debug=7 in the previous email as well as this one.

>    High enough to see packet transmit attempts?

   I guess so, since it is the highest debug level.

>    Could there have been a received packet?
> 
   I doubt it, though I can't rule it out. So I've repeated the test
with the network cable physically disconnected -- surely no packets can
be received now! The logs are at the end of this message.

   Anyway, there are three phases within the logs.
1) From 21:31:28 to 21:31:28 - I ran "modprobe 3c59x"
2) From 21:31:44 to 21:31:49 - I ran "/etc/init.d/network start"
3) From 21:31:52 to 21:31:52 - I ran "/etc/init.d/network stop"

   Before 1), the system have booted into multi-user mode without
loading the 3c59x module beforehand. After 3), the system is fine,
other than not being able to use the network.

> > Jul 18 20:52:52 localhost kernel: eth0: Media selection timer finished, Autonegotiate.
> > Jul 18 20:52:52 localhost kernel: eth0: Host error, status e003, FIFO diagnostic register 0000.
> > Jul 18 20:52:52 localhost kernel: eth0: PCI bus error, bus status 800000a0, reset had 2000 tick left.
> 
> OK, we had a real PCI bus error, a PCI master abort.
> We don't know what triggered the bus transaction
>    Could there have been a received packet?
> 
   As above.

> The reset succeeded immediately, so the chip is responding.
> AFAIK, the driver is doing everything it needs to during a reset.
> 
   This driver is clearly more unstable than the standard Linux one.

Eddie
===
Jul 21 21:31:28 localhost kernel: 3c59x.c:v0.99Xc 6/27/2002 Donald Becker, becker@scyld.com
Jul 21 21:31:28 localhost kernel:   http://www.scyld.com/network/vortex.html
Jul 21 21:31:28 localhost kernel: eth0: 3Com 3c905B Cyclone 100baseTx at 0xfc80,  00:10:4b:0a:19:95, IRQ 11
Jul 21 21:31:28 localhost kernel:   Internal config register is 01800000, transceivers 0xa.
Jul 21 21:31:28 localhost kernel:   8K buffer 5:3 Rx:Tx split, autoselect/Autonegotiate interface.
Jul 21 21:31:28 localhost kernel:   MII transceiver found at address 24, status 7849.
Jul 21 21:31:28 localhost kernel:   MII transceiver found at address 0, status 7849.
Jul 21 21:31:28 localhost kernel:   Using bus-master transmits and whole-frame receives.

Jul 21 21:31:44 localhost kernel: eth0: Initial media type Autonegotiate half-duplex.
Jul 21 21:31:44 localhost kernel: eth0: MII #24 status 7849, link partner capability 0000, setting half-duplex.
Jul 21 21:31:44 localhost kernel: eth0: vortex_open() irq 11 media status 8080.
Jul 21 21:31:47 localhost kernel: eth0: Host error, status e003, FIFO diagnostic register 0000.
Jul 21 21:31:47 localhost kernel: eth0: PCI bus error, bus status 800000a0, reset had 2000 tick left.
Jul 21 21:31:47 localhost kernel: eth0: Host error, status 8003, FIFO diagnostic register 0000.
Jul 21 21:31:47 localhost kernel: eth0: PCI bus error, bus status 80000020, reset had 1999 tick left.
Jul 21 21:31:47 localhost kernel: eth0: Host error, status 8003, FIFO diagnostic register 0000.
Jul 21 21:31:47 localhost kernel: eth0: PCI bus error, bus status 80000020, reset had 1999 tick left.
Jul 21 21:31:47 localhost kernel: eth0: Host error, status 8003, FIFO diagnostic register 0000.
Jul 21 21:31:47 localhost kernel: eth0: PCI bus error, bus status 80000020, reset had 1999 tick left.
Jul 21 21:31:47 localhost kernel: eth0: Host error, status 8003, FIFO diagnostic register 0000.
Jul 21 21:31:47 localhost kernel: eth0: PCI bus error, bus status 80000020, reset had 1999 tick left.
Jul 21 21:31:47 localhost kernel: eth0: Host error, status 8003, FIFO diagnostic register 0000.
Jul 21 21:31:47 localhost kernel: eth0: PCI bus error, bus status 80000020, reset had 1999 tick left.
Jul 21 21:31:47 localhost kernel: eth0: Host error, status 8003, FIFO diagnostic register 0000.
Jul 21 21:31:47 localhost kernel: eth0: PCI bus error, bus status 80000020, reset had 1999 tick left.
Jul 21 21:31:47 localhost kernel: eth0: Host error, status 8003, FIFO diagnostic register 0000.
Jul 21 21:31:47 localhost kernel: eth0: PCI bus error, bus status 80000020, reset had 1999 tick left.
Jul 21 21:31:47 localhost kernel: eth0: Host error, status 8003, FIFO diagnostic register 0000.
Jul 21 21:31:47 localhost kernel: eth0: PCI bus error, bus status 80000020, reset had 1999 tick left.
Jul 21 21:31:47 localhost kernel: eth0: Host error, status 8003, FIFO diagnostic register 0000.
Jul 21 21:31:47 localhost kernel: eth0: PCI bus error, bus status 80000020, reset had 1999 tick left.
Jul 21 21:31:47 localhost kernel: eth0: Host error, status 8003, FIFO diagnostic register 0000.
Jul 21 21:31:47 localhost kernel: eth0: PCI bus error, bus status 80000020, reset had 1999 tick left.
Jul 21 21:31:47 localhost kernel: eth0: Host error, status 8003, FIFO diagnostic register 0000.
Jul 21 21:31:47 localhost kernel: eth0: PCI bus error, bus status 80000020, reset had 1999 tick left.
Jul 21 21:31:47 localhost kernel: eth0: Host error, status 8003, FIFO diagnostic register 0000.
Jul 21 21:31:47 localhost kernel: eth0: PCI bus error, bus status 80000020, reset had 1999 tick left.
Jul 21 21:31:47 localhost kernel: eth0: Host error, status 8003, FIFO diagnostic register 0000.
Jul 21 21:31:47 localhost kernel: eth0: PCI bus error, bus status 80000020, reset had 1999 tick left.
Jul 21 21:31:47 localhost kernel: eth0: Host error, status 8003, FIFO diagnostic register 0000.
Jul 21 21:31:47 localhost kernel: eth0: PCI bus error, bus status 80000020, reset had 1999 tick left.
Jul 21 21:31:47 localhost kernel: eth0: Host error, status 8003, FIFO diagnostic register 0000.
Jul 21 21:31:47 localhost kernel: eth0: PCI bus error, bus status 80000020, reset had 1999 tick left.
Jul 21 21:31:47 localhost kernel: eth0: Host error, status 8003, FIFO diagnostic register 0000.
Jul 21 21:31:47 localhost kernel: eth0: PCI bus error, bus status 80000020, reset had 1999 tick left.
Jul 21 21:31:47 localhost kernel: eth0: Host error, status 8003, FIFO diagnostic register 0000.
Jul 21 21:31:47 localhost kernel: eth0: PCI bus error, bus status 80000020, reset had 1999 tick left.
Jul 21 21:31:47 localhost kernel: eth0: Host error, status 8003, FIFO diagnostic register 0000.
Jul 21 21:31:47 localhost kernel: eth0: PCI bus error, bus status 80000020, reset had 1999 tick left.
Jul 21 21:31:48 localhost kernel: eth0: Host error, status 8003, FIFO diagnostic register 0000.
Jul 21 21:31:48 localhost kernel: eth0: PCI bus error, bus status 80000020, reset had 1999 tick left.
Jul 21 21:31:48 localhost kernel: eth0: Host error, status 8003, FIFO diagnostic register 0000.
Jul 21 21:31:48 localhost kernel: eth0: PCI bus error, bus status 80000020, reset had 1999 tick left.
Jul 21 21:31:48 localhost kernel: eth0: Too much work in interrupt, status 8003.  Temporarily disabling functions (7ffc).
Jul 21 21:31:48 localhost kernel: eth0: Media selection timer tick happened, Autonegotiate half duplex.
Jul 21 21:31:48 localhost kernel: eth0: MII transceiver has status 7849.
Jul 21 21:31:48 localhost kernel: eth0: Host error, status 8003, FIFO diagnostic register 0000.
Jul 21 21:31:48 localhost kernel: eth0: PCI bus error, bus status 80000020, reset had 1999 tick left.
Jul 21 21:31:48 localhost kernel: eth0: Host error, status 8003, FIFO diagnostic register 0000.
Jul 21 21:31:48 localhost kernel: eth0: PCI bus error, bus status 80000020, reset had 1999 tick left.
Jul 21 21:31:48 localhost kernel: eth0: Host error, status 8003, FIFO diagnostic register 0000.
Jul 21 21:31:48 localhost kernel: eth0: PCI bus error, bus status 80000020, reset had 1999 tick left.
Jul 21 21:31:48 localhost kernel: eth0: Host error, status 8003, FIFO diagnostic register 0000.
Jul 21 21:31:48 localhost kernel: eth0: PCI bus error, bus status 80000020, reset had 1999 tick left.
Jul 21 21:31:48 localhost kernel: eth0: Host error, status 8003, FIFO diagnostic register 0000.
Jul 21 21:31:48 localhost kernel: eth0: PCI bus error, bus status 80000020, reset had 1999 tick left.
Jul 21 21:31:48 localhost kernel: eth0: Host error, status 8003, FIFO diagnostic register 0000.
Jul 21 21:31:48 localhost kernel: eth0: PCI bus error, bus status 80000020, reset had 1999 tick left.
Jul 21 21:31:48 localhost kernel: eth0: Host error, status 8003, FIFO diagnostic register 0000.
Jul 21 21:31:48 localhost kernel: eth0: PCI bus error, bus status 80000020, reset had 1999 tick left.
Jul 21 21:31:48 localhost kernel: eth0: Host error, status 8003, FIFO diagnostic register 0000.
Jul 21 21:31:48 localhost kernel: eth0: PCI bus error, bus status 80000020, reset had 1999 tick left.
Jul 21 21:31:48 localhost kernel: eth0: Host error, status 8003, FIFO diagnostic register 0000.
Jul 21 21:31:48 localhost kernel: eth0: PCI bus error, bus status 80000020, reset had 1999 tick left.
Jul 21 21:31:48 localhost kernel: eth0: Host error, status 8003, FIFO diagnostic register 0000.
Jul 21 21:31:48 localhost kernel: eth0: PCI bus error, bus status 80000020, reset had 1999 tick left.
Jul 21 21:31:48 localhost kernel: eth0: Host error, status 8003, FIFO diagnostic register 0000.
Jul 21 21:31:48 localhost kernel: eth0: PCI bus error, bus status 80000020, reset had 1999 tick left.
Jul 21 21:31:48 localhost kernel: eth0: Host error, status 8003, FIFO diagnostic register 0000.
Jul 21 21:31:48 localhost kernel: eth0: PCI bus error, bus status 80000020, reset had 1999 tick left.
Jul 21 21:31:48 localhost kernel: eth0: Host error, status 8003, FIFO diagnostic register 0000.
Jul 21 21:31:48 localhost kernel: eth0: PCI bus error, bus status 80000020, reset had 1999 tick left.
Jul 21 21:31:49 localhost kernel: eth0: Host error, status 8003, FIFO diagnostic register 0000.
Jul 21 21:31:49 localhost kernel: eth0: PCI bus error, bus status 80000020, reset had 1999 tick left.
Jul 21 21:31:49 localhost kernel: eth0: Host error, status 8003, FIFO diagnostic register 0000.
Jul 21 21:31:49 localhost kernel: eth0: PCI bus error, bus status 80000020, reset had 1999 tick left.
Jul 21 21:31:49 localhost kernel: eth0: Host error, status 8003, FIFO diagnostic register 0000.
Jul 21 21:31:49 localhost kernel: eth0: PCI bus error, bus status 80000020, reset had 1999 tick left.
Jul 21 21:31:49 localhost kernel: eth0: Host error, status 8003, FIFO diagnostic register 0000.
Jul 21 21:31:49 localhost kernel: eth0: PCI bus error, bus status 80000020, reset had 1999 tick left.
Jul 21 21:31:49 localhost kernel: eth0: Host error, status 8003, FIFO diagnostic register 0000.
Jul 21 21:31:49 localhost kernel: eth0: PCI bus error, bus status 80000020, reset had 1999 tick left.
Jul 21 21:31:49 localhost kernel: eth0: Host error, status 8003, FIFO diagnostic register 0000.
Jul 21 21:31:49 localhost kernel: eth0: PCI bus error, bus status 80000020, reset had 1999 tick left.
Jul 21 21:31:49 localhost kernel: eth0: Host error, status 8003, FIFO diagnostic register 0000.
Jul 21 21:31:49 localhost kernel: eth0: PCI bus error, bus status 80000020, reset had 1999 tick left.
Jul 21 21:31:49 localhost kernel: eth0: Too much work in interrupt, status 8003.  Temporarily disabling functions (7ffc).
Jul 21 21:31:49 localhost kernel: eth0: Media selection timer finished, Autonegotiate.

Jul 21 21:31:52 localhost kernel: eth0: vortex_close() status 8000, Tx status 00.
Jul 21 21:31:52 localhost kernel: eth0: vortex close stats: rx_nocopy 0 rx_copy 0 tx_queued 2 Rx pre-checksummed 0.