Hi,
I have trouble with 8139too driver on i686/FIC KL6011 (LX) mainboard and
00:0a.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139 (rev 10)
In 2.4.2 kernel when MAC address was set via ip link set DEV address xyz
then ethernet card wasn't working at all! Setting promisc mode caused
it to receive packets and it was working until promisc was turned off.
In 2.4.3-pre4 8139too driver was working fine even after changing MAC address.
Unfortunately now it locks quite often and it's only enabled by netwatchdog:
Mar 19 22:28:32 arm kernel: NETDEV WATCHDOG: eth0: transmit timed out
Mar 19 22:28:32 arm kernel: eth0: Setting half-duplex based on auto-negotiated
partner ability 0000.Mar 19 22:29:02 arm kernel: NETDEV WATCHDOG: eth0:
transmit timed out
Mar 19 22:29:02 arm kernel: eth0: Setting half-duplex based on auto-negotiated
partner ability 0000.Mar 19 22:29:38 arm kernel: NETDEV WATCHDOG: eth0:
transmit timed out
alias eth0 8139too
options 8139too media=0x0 full_duplex=0x0
(10baseT/half duplex)
Any ideas what's going on? Also why it auto-negotiates partner ability while it
has specified full_duplex=0x0 (half duplex)?
[root@arm misiek]# rtl8139-diag -mmmaaavvveef
rtl8139-diag.c:v2.01 1/8/2001 Donald Becker (becker@xxxxxxxxx)
http://www.scyld.com/diag/index.html
Index #1: Found a RealTek RTL8139 adapter at 0xe400.
RealTek chip registers at 0xe400
0x000: 0b526000 000081ff a0000000 80004000 802ca5ea 802ca5ea 802ca5a2 802ca5ea
0x020: 00d18000 00d18600 00d18c00 00d19200 00560000 0d0a0000 c7e8c7d8 0000c07f
0x040: 78000600 0000d68e 24f2c16f 00000000 002f1000 00000000 0080c108 00100000
0x060: 0000f00f 05e1780d 00000000 00000000 00000000 000f7400 58fab388 a438d843.
No interrupt sources are pending.
The chip configuration is 0x10 0x2f, MII half-duplex mode.
EEPROM size test returned 6, 0x204a4 / 0x2.
Parsing the EEPROM of a RealTek chip:
PCI IDs -- Vendor 0x10ec, Device 0x8139, Subsystem 0x10ec.
PCI timer settings -- minimum grant 32, maximum latency 64.
General purpose pins -- direction 0xe1 value 0x10.
Station Address 00:60:52:0B:FF:81.
Configuration register 0/1 -- 0x8d / 0xc2.
EEPROM active region checksum is 09fa.
EEPROM contents:
8129 10ec 8139 10ec 8139 4020 e110 6000
0b52 81ff 8d10 f7c2 8001 b388 58fa 0708
d843 a438 d843 a438 d843 a438 d843 a438
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
0000 0000 0000 0000 0000 0000 0000 0000
The word-wide EEPROM checksum is 0xbe3d.
[root@arm misiek]#
btw. I also have big number of collisions but this shouldn't
cause eth lockup.
[root@arm misiek]# ip -s link show eth0
33: eth0: <BROADCAST,NOTRAILERS,UP> mtu 1500 qdisc pfifo_fast qlen 100
link/ether 00:60:52:0b:ff:81 brd ff:ff:ff:ff:ff:ff
RX: bytes packets errors dropped overrun mcast
2614099699 2931077 437 0 0 0
TX: bytes packets errors dropped carrier collsns
2926863755 2307203 179 109 4 1993408
CONFIG_X86_GOOD_APIC=y
--
Arkadiusz Miśkiewicz, AM2-6BONE [ PLD GNU/Linux IPv6 ]
http://www.t17.ds.pwr.wroc.pl/~misiek/ipv6/ [ enabled ]
|