[vortex] 3c59x LK1.1.16 Linux-2.4 PCI bus error/Host error
Donald Becker
becker@scyld.com
Sat Jul 13 23:24:01 2002
On Sun, 14 Jul 2002 epl@labyrinth.net.au wrote:
> Subject: [vortex] 3c59x LK1.1.16 Linux-2.4 PCI bus error/Host error
>
> Using a 3com 905B-100BaseTX NIC with the 3c59x driver, I can induce
> the module to lock-up by transferring large amounts of data via the
> network.
>
> By bringing down the network I can stop flow of messages to syslog
> (see below). If I restart the network without unloading the module, the
> network stays locked up and the flow of messages to syslog resumes. If
> I stop the network, unload the module and restart the network, I can
> sanely use the network until the next lockup.
>
> I get the following (debug=7) error messages in my syslog:
Note that debug=7 will likely overload the system when logging the
messages. You should reduce the effect by setting asynchronous
logging in /etc/syslog.conf with a "-" before the log file name.
kern.* -/var/log/debug
> Jul 10 23:32:56 localhost kernel: eth0: vortex_error(), status=0xe081
This is reporting StatsFull. Here is the comment from my driver release:
/* HACK: Disable statistics as an interrupt source. */
/* This occurs when we have the wrong media type! */
So I suspect that your NIC is forced to the wrong media type.
> Jul 10 23:33:48 localhost kernel: eth0: Host error, FIFO diagnostic register 0000.
> Jul 10 23:33:48 localhost kernel: eth0: PCI bus error, bus status 80000020
>From the driver comments
/* 0x80000000 PCI master abort. */
Your machine isn't reacting well to something.
> Jul 10 23:33:48 localhost kernel: eth0: using NWAY device table, not 8
> Jul 10 23:33:48 localhost kernel: eth0: MII #0 status 0080, link partner capability 0080, info1 0010, setting half-duplex.
This is bogus. Either change your EEPROM setting to the default, or
avoid passing an invalid media type as an option. You shouldn't need to
pass a module option.
> The hardware is an Intel Pentium-100 with a built-in EIDE controller
> and S3 video. The only addon card is a 3c905B 100BaseTX PCI card
> working at 10Mbps connecting via a hub.
A old Pentium-100...
> Looking around the web, it appears that others have encountered
> similar behaviour, but that no-one has been able to track it down
> sufficiently to fix it.
They might not have reported that it was fixed, but there isn't an
unresolved bug that I know of.
> Nonetheless, I should note that:
> - Bus-mastering is on. Turning it off might help, but I don't know how.
Is the card is a real bus-mastering slot? Some Pentium motherboards
cheated.
> - Replacing the 3C905B with a NE2000 PCI NIC eliminates the bug. The
> NE2000 card probably doesn't have bus-mastering.
Correct.
> 3c59x: Donald Becker and others. www.scyld.com/network/vortex.html
> See Documentation/networking/vortex.txt
> 00:13.0: 3Com PCI 3c905B Cyclone 100baseTx at 0xfc80. Vers LK1.1.16
> 00:10:4b:0a:19:95, IRQ 11
> product code 4e47 rev 00.9 date 04-21-98
> 8K byte-wide RAM 5:3 Rx:Tx split, autoselect/10baseT interface.
This should read autoselect/NWay, not 10baseT.
> eth0: using NWAY device table, not 0
> eth0: MII #0 status 0080, link partner capability 0080, info1 0010, setting half-duplex.
--
Donald Becker becker@scyld.com
Scyld Computing Corporation http://www.scyld.com
410 Severn Ave. Suite 210 Second Generation Beowulf Clusters
Annapolis MD 21403 410-990-9993