Bug 133388

Summary: 3c59x: eth0: Transmit error, Tx status register d0. (10Mb hub)
Product: Red Hat Enterprise Linux 3 Reporter: John W. Linville <linville>
Component: kernelAssignee: John W. Linville <linville>
Status: CLOSED ERRATA QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: 3.0CC: barryn, k.georgiou, me, mrauschkolb, peterm, petrides, riel, sabdelg, tao, ubeck
Target Milestone: ---   
Target Release: ---   
Hardware: i686   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2005-05-18 13:28:10 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
3c59x-txstart.patch
none
3c59x-reset.patch
none
'lspci -vn' output of one affected machine
none
3c59x-reset-u3.patch
none
3c59x-reset-u4.patch
none
3c59x-reset-2-u4.patch none

Description John W. Linville 2004-09-23 17:49:02 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.2)
Gecko/20040803

Description of problem:
Some cards using the 3c59x driver (mostly 3c905B, but not all of them)
refuse to work in some 10 Mb hubs.  Typical error message below:

eth1: Transmit error, Tx status register d0.
  Flags; bus-master 1, dirty 1(1) current 1(1)
  Transmit list 00000000 vs. e6021240.
  0: @e6021200  length 8000002a status 8000002a
  1: @e6021240  length 00000000 status 00000000
  2: @e6021280  length 00000000 status 00000000
  3: @e60212c0  length 00000000 status 00000000
  4: @e6021300  length 00000000 status 00000000
  5: @e6021340  length 00000000 status 00000000
  6: @e6021380  length 00000000 status 00000000
  7: @e60213c0  length 00000000 status 00000000
  8: @e6021400  length 00000000 status 00000000
  9: @e6021440  length 00000000 status 00000000
  10: @e6021480  length 00000000 status 00000000
  11: @e60214c0  length 00000000 status 00000000
  12: @e6021500  length 00000000 status 00000000
  13: @e6021540  length 00000000 status 00000000
  14: @e6021580  length 00000000 status 00000000
  15: @e60215c0  length 00000000 status 00000000

See bug 102685 for more details.

Version-Release number of selected component (if applicable):


How reproducible:
Sometimes

Steps to Reproduce:
1. insmod 3c59x
2. ifup eth0

That's it, if it happens at all...
    

Actual Results:  Card cannot communicate.

Expected Results:  Normal communications.

Additional info:

Some cards work, some don't...

Comment 1 Tom Diehl 2004-09-24 00:05:25 UTC
It is not just 10 MB hubs. I have seen this behavior with 100MB
switches also. This has been broken for a long time and I provided
lspci etc. on the previous bug.

Comment 2 John W. Linville 2004-09-24 21:06:50 UTC
Error message indicates an Tx underrun condition...related to
SetTxStart command commented-out of vortex_up()?

Comment 3 John W. Linville 2004-09-24 21:10:37 UTC
Created attachment 104292 [details]
3c59x-txstart.patch

Anyone want to test a patch created late on a Friday afternoon? :-)

Not sure why this line was commented-out -- will need to find-out before this
can be permanent...if this makes any difference, that is...

Comment 4 John W. Linville 2004-09-27 17:49:27 UTC
That patch does not correct the problem...

Comment 5 John W. Linville 2004-09-27 20:09:54 UTC
As indicated in bug 102685 this problem can (seemingly) be avoided by
not running kudzu at boot.

It turns-out that kudzu is doing the equivalent of a "modprobe 3c59x ;
modprobe -r 3c59x" during its probe.  After the module is removed,
reloading the module doesn't seem to properly reinit the hardware. 
This effect can be recreated without running kudzu simply by using the
modprobe commands above.

Still working on a solution...at least now we know the explanation for
the kudzu insanity...

Comment 6 John W. Linville 2004-09-28 18:36:30 UTC
Created attachment 104454 [details]
3c59x-reset.patch

Some of the reset bits were being masked-off for some reason...

This one works for me.	I'd love to hear some feedback!

Comment 7 John W. Linville 2004-10-07 14:22:17 UTC
I'd REALLY appreciate it if anyone who has experienced this problem
could send me the output of `lspci -vn` ASAP.

If you have more than one 3Com card but not all of them have the
problem, please try to indicate which ones do and which ones don't...

Thanks!

Comment 8 Uwe Beck 2004-10-07 16:45:43 UTC
I have tested with Bastien´s kernel -> issue-tracker issue 50579
(http://people.redhat.com/bnocera/kernel-smp-2.4.21-21.EL.i686.rpm).
You can find results in detail for Cyclone and Boomerang card in this
issue.

The Cyclone works now with this 3c59x kernel module on 10 MB hub
without any problem and I have boot the system with "chkconfig kudzu on".
Performance are very good and there are no errors on interface (normal
collisions on half-duplex).

But the Boomerang does only work if I boot the system with "chkconfig
kudzu off".
With active kudzu during boot I have the known errors:

Oct  7 10:05:53 pclin02 kernel: eth1: Transmit error, Tx status
register d0.
Oct  7 10:05:53 pclin02 kernel:   Flags; bus-master 1, dirty 1(1)
current 1(1)
Oct  7 10:05:53 pclin02 kernel:   Transmit list 00000000 vs. de12f240.
Oct  7 10:05:53 pclin02 kernel:   0: @de12f200  length 8000002a status
8000002a
Oct  7 10:05:53 pclin02 kernel:   1: @de12f240  length 8000002a status
0000002a
Oct  7 10:05:53 pclin02 kernel:   2: @de12f280  length 8000002a status
0000002a
Oct  7 10:05:53 pclin02 kernel:   3: @de12f2c0  length 8000002a status
8000002a
Oct  7 10:05:53 pclin02 kernel:   4: @de12f300  length 00000000 status
00000000
Oct  7 10:05:53 pclin02 kernel:   5: @de12f340  length 00000000 status
00000000
Oct  7 10:05:54 pclin02 kernel:   6: @de12f380  length 00000000 status
00000000
Oct  7 10:05:54 pclin02 kernel:   7: @de12f3c0  length 00000000 status
00000000
Oct  7 10:05:54 pclin02 kernel:   8: @de12f400  length 00000000 status
00000000
Oct  7 10:05:54 pclin02 kernel:   9: @de12f440  length 00000000 status
00000000
Oct  7 10:05:54 pclin02 kernel:   10: @de12f480  length 00000000
status 00000000
Oct  7 10:05:54 pclin02 kernel:   11: @de12f4c0  length 00000000
status 00000000
Oct  7 10:05:54 pclin02 kernel:   12: @de12f500  length 00000000
status 00000000
Oct  7 10:05:54 pclin02 kernel:   13: @de12f540  length 00000000
status 00000000
Oct  7 10:05:54 pclin02 kernel:   14: @de12f580  length 00000000
status 00000000
Oct  7 10:05:54 pclin02 kernel:   15: @de12f5c0  length 00000000
status 00000000
Oct  7 10:05:55 pclin02 network: Interface eth1 hochfahren:  succeeded

The interface eth1 for Boomerang card is activ but you can not use it,
no network connections works.
Booting the system without kudzu all works, same good results for this
3c59x kernel module like the Cyclone card. I use identical test (ftp
and about 7 GB over NFS).

# ifconfig
eth1 Protokoll:Ethernet  Hardware Adresse 00:60:08:2C:D2:7F
     inet Adresse:128.0.5.12  Bcast:128.0.5.255  Maske:255.255.255.0
     UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
     RX packets:7715922 errors:2 dropped:0 overruns:0 frame:2
     TX packets:3267708 errors:0 dropped:0 overruns:0 carrier:1002
     Kollisionen:347938 Sendewarteschlangenlänge:1000
     RX bytes:2377273109 (2267.1 Mb)  TX bytes:4177488682 (3983.9 Mb)
     Interrupt:9 Basisadresse:0x9800

I only see that there are carrier:1002. All other looks normal for a
half-duplex.

# mii-tool -v
eth1: no autonegotiation, 10baseT-HD, link ok
  product info: National DP83840A rev 1
  basic mode:   autonegotiation enabled
  basic status: autonegotiation complete, link ok
  capabilities: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD
  advertising:  100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD
  link partner: 10baseT-HD

lspci -v
02:0b.0 Ethernet controller: 3Com Corporation 3c905B 100BaseTX
[Cyclone] (rev 24)
        Subsystem: 3Com Corporation 3C905B Fast Etherlink XL 10/100
        Flags: bus master, medium devsel, latency 32, IRQ 10
        I/O ports at a000 [size=128]
        Memory at d5000000 (32-bit, non-prefetchable) [size=128]
        Expansion ROM at <unassigned> [disabled] [size=128K]
        Capabilities: [dc] Power Management version 1

02:0c.0 Ethernet controller: 3Com Corporation 3c905 100BaseTX [Boomerang]
        Flags: bus master, medium devsel, latency 32, IRQ 9
        I/O ports at 9800 [size=64]
        Expansion ROM at <unassigned> [disabled] [size=64K]

lspci -vn
02:0b.0 Class 0200: 10b7:9055 (rev 24)
        Subsystem: 10b7:9055
        Flags: bus master, medium devsel, latency 32, IRQ 10
        I/O ports at a000 [size=128]
        Memory at d5000000 (32-bit, non-prefetchable) [size=128]
        Expansion ROM at <unassigned> [disabled] [size=128K]
        Capabilities: [dc] Power Management version 1

02:0c.0 Class 0200: 10b7:9050
        Flags: bus master, medium devsel, latency 32, IRQ 9
        I/O ports at 9800 [size=64]
        Expansion ROM at <unassigned> [disabled] [size=64K]


There was no problem since RHEL3 (beta) starts with the card model

01:02.0 Ethernet controller: 3Com Corporation 3c905C-TX/TX-M [Tornado]
(rev 78)
        Subsystem: 3Com Corporation 3C905C-TX Fast Etherlink for PC
Management NIC
        Flags: bus master, medium devsel, latency 64, IRQ 18
        I/O ports at 2380 [size=128]
        Memory at fbfdfc00 (32-bit, non-prefetchable) [size=128]
        Expansion ROM at <unassigned> [disabled] [size=128K]
        Capabilities: [dc] Power Management version 2

This card is the actuel card version. I do not tested this card
version with this kernel modul version at this time.


Comment 9 Uwe Beck 2004-10-07 17:32:18 UTC
I have tested with Bastien´s kernel -> issue-tracker issue 50579
(http://people.redhat.com/bnocera/kernel-smp-2.4.21-21.EL.i686.rpm).
You can find results in detail for Cyclone and Boomerang card in this
issue.

The Cyclone works now with this 3c59x kernel module on 10 MB hub
without any problem and I have boot the system with "chkconfig kudzu on".
Performance are very good and there are no errors on interface (normal
collisions on half-duplex).

But the Boomerang does only work if I boot the system with "chkconfig
kudzu off".
With active kudzu during boot I have the known errors:

Oct  7 10:05:53 pclin02 kernel: eth1: Transmit error, Tx status
register d0.
Oct  7 10:05:53 pclin02 kernel:   Flags; bus-master 1, dirty 1(1)
current 1(1)
Oct  7 10:05:53 pclin02 kernel:   Transmit list 00000000 vs. de12f240.
Oct  7 10:05:53 pclin02 kernel:   0: @de12f200  length 8000002a status
8000002a
Oct  7 10:05:53 pclin02 kernel:   1: @de12f240  length 8000002a status
0000002a
Oct  7 10:05:53 pclin02 kernel:   2: @de12f280  length 8000002a status
0000002a
Oct  7 10:05:53 pclin02 kernel:   3: @de12f2c0  length 8000002a status
8000002a
Oct  7 10:05:53 pclin02 kernel:   4: @de12f300  length 00000000 status
00000000
Oct  7 10:05:53 pclin02 kernel:   5: @de12f340  length 00000000 status
00000000
Oct  7 10:05:54 pclin02 kernel:   6: @de12f380  length 00000000 status
00000000
Oct  7 10:05:54 pclin02 kernel:   7: @de12f3c0  length 00000000 status
00000000
Oct  7 10:05:54 pclin02 kernel:   8: @de12f400  length 00000000 status
00000000
Oct  7 10:05:54 pclin02 kernel:   9: @de12f440  length 00000000 status
00000000
Oct  7 10:05:54 pclin02 kernel:   10: @de12f480  length 00000000
status 00000000
Oct  7 10:05:54 pclin02 kernel:   11: @de12f4c0  length 00000000
status 00000000
Oct  7 10:05:54 pclin02 kernel:   12: @de12f500  length 00000000
status 00000000
Oct  7 10:05:54 pclin02 kernel:   13: @de12f540  length 00000000
status 00000000
Oct  7 10:05:54 pclin02 kernel:   14: @de12f580  length 00000000
status 00000000
Oct  7 10:05:54 pclin02 kernel:   15: @de12f5c0  length 00000000
status 00000000
Oct  7 10:05:55 pclin02 network: Interface eth1 hochfahren:  succeeded

The interface eth1 for Boomerang card is activ but you can not use it,
no network connections works.
Booting the system without kudzu all works, same good results for this
3c59x kernel module like the Cyclone card. I use identical test (ftp
and about 7 GB over NFS).

# ifconfig
eth1 Protokoll:Ethernet  Hardware Adresse 00:60:08:2C:D2:7F
     inet Adresse:128.0.5.12  Bcast:128.0.5.255  Maske:255.255.255.0
     UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
     RX packets:7715922 errors:2 dropped:0 overruns:0 frame:2
     TX packets:3267708 errors:0 dropped:0 overruns:0 carrier:1002
     Kollisionen:347938 Sendewarteschlangenlänge:1000
     RX bytes:2377273109 (2267.1 Mb)  TX bytes:4177488682 (3983.9 Mb)
     Interrupt:9 Basisadresse:0x9800

I only see that there are carrier:1002. All other looks normal for a
half-duplex.

# mii-tool -v
eth1: no autonegotiation, 10baseT-HD, link ok
  product info: National DP83840A rev 1
  basic mode:   autonegotiation enabled
  basic status: autonegotiation complete, link ok
  capabilities: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD
  advertising:  100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD
  link partner: 10baseT-HD

lspci -v
02:0b.0 Ethernet controller: 3Com Corporation 3c905B 100BaseTX
[Cyclone] (rev 24)
        Subsystem: 3Com Corporation 3C905B Fast Etherlink XL 10/100
        Flags: bus master, medium devsel, latency 32, IRQ 10
        I/O ports at a000 [size=128]
        Memory at d5000000 (32-bit, non-prefetchable) [size=128]
        Expansion ROM at <unassigned> [disabled] [size=128K]
        Capabilities: [dc] Power Management version 1

02:0c.0 Ethernet controller: 3Com Corporation 3c905 100BaseTX [Boomerang]
        Flags: bus master, medium devsel, latency 32, IRQ 9
        I/O ports at 9800 [size=64]
        Expansion ROM at <unassigned> [disabled] [size=64K]

lspci -vn
02:0b.0 Class 0200: 10b7:9055 (rev 24)
        Subsystem: 10b7:9055
        Flags: bus master, medium devsel, latency 32, IRQ 10
        I/O ports at a000 [size=128]
        Memory at d5000000 (32-bit, non-prefetchable) [size=128]
        Expansion ROM at <unassigned> [disabled] [size=128K]
        Capabilities: [dc] Power Management version 1

02:0c.0 Class 0200: 10b7:9050
        Flags: bus master, medium devsel, latency 32, IRQ 9
        I/O ports at 9800 [size=64]
        Expansion ROM at <unassigned> [disabled] [size=64K]


There was no problem since RHEL3 (beta) starts with the card model

01:02.0 Ethernet controller: 3Com Corporation 3c905C-TX/TX-M [Tornado]
(rev 78)
        Subsystem: 3Com Corporation 3C905C-TX Fast Etherlink for PC
Management NIC
        Flags: bus master, medium devsel, latency 64, IRQ 18
        I/O ports at 2380 [size=128]
        Memory at fbfdfc00 (32-bit, non-prefetchable) [size=128]
        Expansion ROM at <unassigned> [disabled] [size=128K]
        Capabilities: [dc] Power Management version 2

This card is the actuel card version. I do not tested this card
version with this kernel modul version at this time.

Comment 10 Uwe Beck 2004-10-07 17:37:33 UTC
Sorry for duplicate additional comments. There was a info message form
bugzilla tool that the bug is modyfied from more then on users at the
same time.

Uwe



Comment 11 Uwe Beck 2004-10-07 22:42:46 UTC
Here are the results for the Cyclone card on 100 MB switch port with
the same tests (ftp and about 7 GB over NFS) I do with 10 MB hub.
The 3c59x kernel module works correct, performence is ok. There has
never been any problem with Cyclone card on 100 MB switch before.

# ipconfig
eth0 Protokoll:Ethernet  Hardware Adresse 00:10:4B:C3:94:2E
     inet Adresse:128.0.5.12  Bcast:128.0.5.255  Maske:255.255.255.0
     UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
     RX packets:7734545 errors:0 dropped:0 overruns:17 frame:0
     TX packets:3314103 errors:0 dropped:0 overruns:0 carrier:0
     Kollisionen:0 Sendewarteschlangenlänge:1000
     RX bytes:2426015457 (2313.6 Mb)  TX bytes:4266984502 (4069.3 Mb)
     Interrupt:10 Basisadresse:0xa000

# mii-tool -v
eth0: negotiated 100baseTx-FD, link ok
  product info: vendor 00:00:00, model 0 rev 0
  basic mode:   autonegotiation enabled
  basic status: autonegotiation complete, link ok
  capabilities: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD
  advertising:  100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD
  link partner: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD
flow-control


Comment 12 Barry K. Nathan 2004-10-08 08:34:06 UTC
Created attachment 104924 [details]
'lspci -vn' output of one affected machine

The network card is a 3c905b. Right now it's plugged into a 100Mbit full-duplex
connection and it seems to be working fine. When it was plugged into a 10Mbit
connection (I think half-duplex, but I'm not sure), it had the errors and it
was only transferring data at about 20KB/sec (downstream to the computer,
anyway; it was painful enough downstream that I didn't try measuring upstream
speed).

If you need any more info, let me know, but keep in mind that this box is in
production use and I cannot take it down for long periods of time. Also,
there's absolutely no way this box is being plugged into a 10Mbit connection
again (for reasons completely unrelated to the errors), so I guess it's not
going to be much use for hunting this bug down -- oh well...

Comment 13 John W. Linville 2004-10-11 20:08:54 UTC
Created attachment 105023 [details]
3c59x-reset-u3.patch

This patch should apply against kernel 2.4.21-20.EL (and possibly earlier
kernels) in order to ensure that the 3c905(B) cards are properly reset when the
driver module is removed.

Comment 14 John W. Linville 2004-10-11 20:10:31 UTC
Created attachment 105025 [details]
3c59x-reset-u4.patch

This is equivalent to the previous patch, but it applies against the kernels
newer than 2.4.21-20.EL (i.e. post-U3).

Comment 15 John W. Linville 2004-10-11 20:12:47 UTC
I have attached two patches -- please choose the correct one for the
source you are using (either U3 or pre-U4).

These are equivalent to what I am trying to get accepted upstream. 
They include a more thorough reset of the 3c905(B) chips so that they
will work after the module is re-inserted.

Comment 16 Jari Karppinen 2004-10-13 10:01:11 UTC
I just installed Fedora Core 2 release (kernel 2.6.5) and I'm
suffering the same problem. This bug is over one year old so is there
a working patch for it?

ps. I got 2 3c905 nic's in the box.

Comment 17 Uwe Beck 2004-10-25 10:06:58 UTC
I repeat the same tests than in additional comments #8 and #11 with
the 3c59x-reset-u3.patch now.
This is the first time since the #102625 is known without bus-master
errors for the 3Com Corporation 3c905 100BaseTX [Boomerang] if
"chkconfig kudzu on" at boot time.
I have include the 3c59x-reset-u3.patch in the kernel.spec and build
new rpms for this tests.

Results:

# chkconfig --list kudzu
kudzu           0:Aus   1:Aus   2:Ein   3:Ein   4:Ein   5:Ein   6:Aus

# lspci
02:0b.0 Ethernet controller: 3Com Corporation 3c905B 100BaseTX
[Cyclone] (rev 24)
02:0c.0 Ethernet controller: 3Com Corporation 3c905 100BaseTX [Boomerang]

/var/log/messages
Oct 25 08:44:30 pclin02 kernel: PCI: Found IRQ 10 for device 02:0b.0
Oct 25 08:44:30 pclin02 kernel: PCI: Sharing IRQ 10 with 00:1d.7
Oct 25 08:44:30 pclin02 kernel: 3c59x: Donald Becker and others.
www.scyld.com/network/vortex.html
Oct 25 08:44:30 pclin02 kernel: 02:0b.0: 3Com PCI 3c905B Cyclone
100baseTx at 0xa000. Vers LK1.1.18
Oct 25 08:44:30 pclin02 kernel: PCI: Found IRQ 9 for device 02:0c.0
Oct 25 08:44:30 pclin02 kernel: 02:0c.0: 3Com PCI 3c905 Boomerang
100baseTx at 0x9800. Vers LK1.1.18
Oct 25 08:44:30 pclin02 kernel: eth1: Dropping NETIF_F_SG since no
checksum feature.

3Com Corporation 3c905 100BaseTX [Boomerang] 10 MB

# ifconfig eth1
eth1 Protokoll:Ethernet  Hardware Adresse 00:60:08:2C:D2:7F
     inet Adresse:128.0.5.12  Bcast:128.0.5.255  Maske:255.255.255.0
     UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
     RX packets:7378155 errors:0 dropped:0 overruns:0 frame:0
     TX packets:3270526 errors:0 dropped:0 overruns:0 carrier:1068
     Kollisionen:342681 Sendewarteschlangenlänge:1000
     RX bytes:1857070643 (1771.0 Mb)  TX bytes:4169310980 (3976.1 Mb)
     Interrupt:9 Basisadresse:0x9800

3Com Corporation 3c905 100BaseTX [Boomerang] 100 MB

# ifconfig eth1
eth1 Protokoll:Ethernet  Hardware Adresse 00:60:08:2C:D2:7F
     inet Adresse:128.0.5.12  Bcast:128.0.5.255  Maske:255.255.255.0
     UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
     RX packets:7513000 errors:0 dropped:0 overruns:0 frame:0
     TX packets:3316448 errors:0 dropped:0 overruns:0 carrier:0
     Kollisionen:0 Sendewarteschlangenlänge:1000
     RX bytes:2119272837 (2021.0 Mb)  TX bytes:9095154 (8.6 Mb)
     Interrupt:9 Basisadresse:0x9800

3Com Corporation 3c905B 100BaseTX [Cyclone] (rev 24) 10 MB

# ifconfig eth0
eth0 Protokoll:Ethernet  Hardware Adresse 00:10:4B:C3:94:2E
     inet Adresse:128.0.5.12  Bcast:128.0.5.255  Maske:255.255.255.0
     UP BROADCAST MULTICAST  MTU:1500  Metric:1
     RX packets:7091205 errors:0 dropped:0 overruns:1 frame:0
     TX packets:3192974 errors:0 dropped:0 overruns:0 carrier:1144
     Kollisionen:289504 Sendewarteschlangenlänge:1000
     RX bytes:1452090778 (1384.8 Mb)  TX bytes:4090536744 (3901.0 Mb)
     Interrupt:10 Basisadresse:0xa000

3Com Corporation 3c905B 100BaseTX [Cyclone] (rev 24) 100 MB

# ifconfig eth0
eth0 Protokoll:Ethernet  Hardware Adresse 00:10:4B:C3:94:2E
     inet Adresse:128.0.5.12  Bcast:128.0.5.255  Maske:255.255.255.0
     UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
     RX packets:7672063 errors:0 dropped:0 overruns:6 frame:0
     TX packets:3313034 errors:0 dropped:0 overruns:0 carrier:0
     Kollisionen:0 Sendewarteschlangenlänge:1000
     RX bytes:2333104710 (2225.0 Mb)  TX bytes:4270957017 (4073.1 Mb)
     Interrupt:10 Basisadresse:0xa000

At all tests there were 4 GB more traffic then the ifconfig output
shows (about 10 GB). ifconfig shows only 4 GB for RX/TX bytes as
maximum. I am not sure if this is a driver or an ifconfig problem.

But the 3c59x-reset-u3.patch works correct.

I do not test the 3Com Corporation 3c905C-TX/TX-M [Tornado] (rev 78)
card at this time.


Comment 18 Ernie Petrides 2004-11-16 02:23:28 UTC
A fix for this problem has just been committed to the RHEL3 U5
patch pool this evening (in kernel version 2.4.21-25.1.EL).


Comment 19 Sherif Abdelgawad 2004-11-23 18:43:26 UTC
I tested the kernel 2.4.21-25.1.EL & 2.4.21-26 with :

01:08.0 Ethernet controller: 3Com Corporation 3c900 10BaseT [Boomerang]

On both 10 Mbit Hub & 100Mbit full-duplex Switch, I am getting the
same errors:

01:08.0 Class 0200: 10b7:9000
        Flags: bus master, medium devsel, latency 64, IRQ 3
        I/O ports at df00 [size=64]
        Expansion ROM at fea00000 [disabled] [size=64K]


Nov 23 12:54:13 bob kernel: eth1: Transmit error, Tx status register d0.
Nov 23 12:54:13 bob kernel:   Flags; bus-master 1, dirty 1(1) current 1(1)
Nov 23 12:54:13 bob kernel:   Transmit list 00000000 vs. deb89240.
Nov 23 12:54:13 bob kernel:   0: @deb89200  length 80000156 status
80000156
Nov 23 12:54:13 bob kernel:   1: @deb89240  length 00000000 status
00000000
Nov 23 12:54:13 bob kernel:   2: @deb89280  length 00000000 status
00000000
Nov 23 12:54:13 bob kernel:   3: @deb892c0  length 00000000 status
00000000
Nov 23 12:54:13 bob kernel:   4: @deb89300  length 00000000 status
00000000
Nov 23 12:54:13 bob kernel:   5: @deb89340  length 00000000 status
00000000
Nov 23 12:54:13 bob kernel:   6: @deb89380  length 00000000 status
00000000
Nov 23 12:54:13 bob kernel:   7: @deb893c0  length 00000000 status
00000000
Nov 23 12:54:13 bob kernel:   8: @deb89400  length 00000000 status
00000000
Nov 23 12:54:13 bob kernel:   9: @deb89440  length 00000000 status
00000000
Nov 23 12:54:13 bob kernel:   10: @deb89480  length 00000000 status
00000000
Nov 23 12:54:13 bob kernel:   11: @deb894c0  length 00000000 status
00000000
Nov 23 12:54:13 bob kernel:   12: @deb89500  length 00000000 status
00000000
Nov 23 12:54:13 bob kernel:   13: @deb89540  length 00000000 status
00000000
Nov 23 12:54:13 bob kernel:   14: @deb89580  length 00000000 status
00000000
Nov 23 12:54:13 bob kernel:   15: @deb895c0  length 00000000 status
00000000


-bash-2.05b# mii-tool -v
eth1: 10 Mbit, half duplex, link ok
  product info: vendor 00:00:3f, model 63 rev 15
  basic mode:   10 Mbit, half duplex
  basic status: autonegotiation complete, remote fault, link ok
  capabilities: 100baseT4 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD
  advertising:
  link partner: 100baseT4 100baseTx-FD 100baseTx-HD 10baseT-FD
10baseT-HD flow-control

-bash-2.05b# ifconfig
eth1      Link encap:Ethernet  HWaddr 00:60:08:A2:E7:58
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:2 carrier:2
          collisions:0 txqueuelen:1000
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
          Interrupt:3 Base address:0xdf00

turning off kudzu did not help.


Comment 20 John W. Linville 2004-11-23 19:10:25 UTC
The cards have to be added to a list one-by-one...  I'll cook-up a
patch "soon" so that you can verify that your card benefits from being
added...

Comment 21 John W. Linville 2004-11-23 19:34:54 UTC
Created attachment 107327 [details]
3c59x-reset-2-u4.patch

Add the 3c900 Boomerang-based cards to the list of affected cards...

Comment 22 John W. Linville 2004-11-23 19:45:50 UTC
Please try the patch above and let me know if it helps.  If so, I will
submit it upstream and for RHEL3/U5 and RHEL4/U1.

Comment 23 Sherif Abdelgawad 2004-11-23 20:17:08 UTC
I will test and post the results.

Comment 24 Sherif Abdelgawad 2004-11-23 20:26:02 UTC
Which kernel I should run the patch against ? It did fail to build on
2.4.21-26.EL! 

Comment 25 John W. Linville 2004-11-23 21:29:23 UTC
Strange...it seems to be building just fine for me.  The patch is
really rather simple...

I'll post an rpm, if you want to wait...

Comment 26 John W. Linville 2004-11-23 21:45:03 UTC
Please try the kernels here:

http://people.redhat.com/linville/bz133388/

Get 'em while they're hot!

Comment 27 Sherif Abdelgawad 2004-11-23 22:06:44 UTC
My mistake .. was building on the wrong machine with wrong kernel tree
:-) It did build with me  now. Also your RPM is working. 

You are the man ... Happy Thanksgiving :-)

Comment 28 Uwe Beck 2004-12-23 08:23:14 UTC
kernel-2.4.21-27.EL in U4 do not contain this patch. I do not see it
in 3c59x.c.

[root@pclin02 modules]# find . -name 3c59x.o -exec ls -l {} ;
-rwxr--r--    1 root     root        39692  4. Dez 23:56
./2.4.21-20.0.1.EL/kernel/drivers/net/3c59x.o

kernel with 3c59x-reset-u3.patch
-rwxr--r--    1 root     root        40064 24. Okt 15:25
./2.4.21-20.EL.3COM/kernel/drivers/net/3c59x.o

after rebuild the 2.4.21-27.EL SRPM
-rwxr--r--    1 root     root        38536 23. Dez 06:06
./2.4.21-27.EL/kernel/drivers/net/3c59x.o

# lspci
02:0c.0 Ethernet controller: 3Com Corporation 3c905 100BaseTX [Boomerang]
# lspci -v
02:0c.0 Ethernet controller: 3Com Corporation 3c905 100BaseTX [Boomerang]
      Flags: bus master, medium devsel, latency 32, IRQ 9
      I/O ports at 9800 [size=64]
      Expansion ROM at <unassigned> [disabled] [size=64K]

With chkconfig kudzu on" at boot:

Dec 23 08:55:28 pclin02 kernel: eth1: Transmit error, Tx status
register d0.
Dec 23 08:55:28 pclin02 kernel:   Flags; bus-master 1, dirty 1(1)
current 1(1)
Dec 23 08:55:28 pclin02 kernel:   Transmit list 00000000 vs. dddea240.
Dec 23 08:55:28 pclin02 kernel:   0: @dddea200  length 8000002a status
8000002a
Dec 23 08:55:28 pclin02 kernel:   1: @dddea240  length 00000000 status
00000000
Dec 23 08:55:28 pclin02 kernel:   2: @dddea280  length 00000000 status
00000000
Dec 23 08:55:28 pclin02 kernel:   3: @dddea2c0  length 00000000 status
00000000
Dec 23 08:55:28 pclin02 kernel:   4: @dddea300  length 00000000 status
00000000
Dec 23 08:55:28 pclin02 kernel:   5: @dddea340  length 00000000 status
00000000
Dec 23 08:55:28 pclin02 kernel:   6: @dddea380  length 00000000 status
00000000
Dec 23 08:55:28 pclin02 kernel:   7: @dddea3c0  length 00000000 status
00000000
Dec 23 08:55:28 pclin02 kernel:   8: @dddea400  length 00000000 status
00000000
Dec 23 08:55:28 pclin02 kernel:   9: @dddea440  length 00000000 status
00000000
Dec 23 08:55:28 pclin02 kernel:   10: @dddea480  length 00000000
status 00000000
Dec 23 08:55:28 pclin02 kernel:   11: @dddea4c0  length 00000000
status 00000000
Dec 23 08:55:29 pclin02 kernel:   12: @dddea500  length 00000000
status 00000000
Dec 23 08:55:29 pclin02 kernel:   13: @dddea540  length 00000000
status 00000000
Dec 23 08:55:29 pclin02 kernel:   14: @dddea580  length 00000000
status 00000000
Dec 23 08:55:29 pclin02 kernel:   15: @dddea5c0  length 00000000
status 00000000

Same than my test with kernel- 2.4.21-25 .EL, see issue tracker 35612.


Comment 29 John W. Linville 2004-12-23 14:28:38 UTC
Please see the reference to RHEL3 U_5_ in comment 18...

Comment 30 Ernie Petrides 2004-12-23 23:11:59 UTC
A fix for the 3c900 Boomerang has just been committed to the RHEL3 U5
patch pool this evening (in kernel version 2.4.21-27.5.EL).


Comment 32 Ernie Petrides 2005-03-01 03:52:31 UTC
Reverting to MODIFIED state until U5 is released.

Comment 33 Tim Powers 2005-05-18 13:28:10 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on the solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHSA-2005-294.html