RE: network drops out
"Kris Thielemans" <[email protected]>
| Newsgroups | gmane.linux.drivers.realtek.devel |
|---|---|
| Message-ID | <[email protected]> |
Hi, some more info on my problem. Looking through the archives (which would be far more easy if there would be a search facility of course), it seems that my problem is a well-known one and is probably driver related. So, I tried the solutions that other people came up with. (By the way SuSE 7.3 uses a 2.4 kernel. The system uses an Athlon XP 1500+). I've taken the latest version (1.18) of Donald Becker's driver, and applied the following patches I've seen on this mailing list: - patch by John Hornton - patch by Edgar Toerning - patch by Stephan Brauss With this patched version installed, my system locked up at the first ftp (get) attempt. I then disabled Edgar Toerning's patch. After this, the behaviour resorted to the previously mentioned mess: after doing some ftps, the network card/driver seems to pack up, and only gets going again after ifconfig eth0 down ifconfig eth0 172.16.20.2 broadcast 172.16.255.255 netmask 255.255.0.0 rcroute start I've invested a bit more time in kernel messages and diagnostic programmes now (I had to learn all this stuff, sorry I didn't include it in my first email). My testing conditions were pretty simple. The system isn't doing anything (aside from normal background system tasks), except 1 ftp process where I mget a bunch of large files (20MB or so). Usually the transfer stalls during the 2nd or 3rd file, and I have to restart the network. Here are some sample messages I get in /var/log/messages. I have one of these messages everytime the network connection drops. --------------------- /var/log/messages extract ---------------- Jun 26 11:04:40 feynman kernel: eth0: Abnormal interrupt, status 00000008. Jun 26 11:05:45 feynman kernel: eth0: Transmit timeout, status 0d 0000 media 18. Jun 26 11:05:45 feynman kernel: eth0: Tx queue start entry 25042 dirty entry 25038, full. Jun 26 11:05:45 feynman kernel: eth0: Tx descriptor 0 is 1008204e. Jun 26 11:05:45 feynman kernel: eth0: Tx descriptor 1 is 40082056. Jun 26 11:05:45 feynman kernel: eth0: Tx descriptor 2 is 0008204e. (queue head) Jun 26 11:05:45 feynman kernel: eth0: Tx descriptor 3 is 0008204e. Jun 26 11:05:45 feynman kernel: eth0: MII #32 registers are: 1000 782d 0000 0000 01e1 0000 0000 0000. Jun 26 11:10:08 feynman kernel: eth0: no IPv6 routers present Jun 26 11:15:15 feynman kernel: eth0: Abnormal interrupt, status 00000008. Jun 26 11:16:01 feynman kernel: eth0: Transmit timeout, status 0d 0000 media 18. Jun 26 11:16:01 feynman kernel: eth0: Tx queue start entry 19037 dirty entry 19033, full. Jun 26 11:16:01 feynman kernel: eth0: Tx descriptor 0 is 4008204e. Jun 26 11:16:01 feynman kernel: eth0: Tx descriptor 1 is 00082042. (queue head) Jun 26 11:16:01 feynman kernel: eth0: Tx descriptor 2 is 0008204e. Jun 26 11:16:01 feynman kernel: eth0: Tx descriptor 3 is 1008204e. Jun 26 11:16:01 feynman kernel: eth0: MII #32 registers are: 1000 782d 0000 0000 01e1 0000 0000 0000. Jun 26 11:21:15 feynman kernel: eth0: no IPv6 routers present Jun 26 11:26:19 feynman kernel: eth0: Abnormal interrupt, status 00000008. Jun 26 11:27:08 feynman kernel: eth0: Transmit timeout, status 0d 0000 media 18. Jun 26 11:27:08 feynman kernel: eth0: Tx queue start entry 7928 dirty entry 7924, full. Jun 26 11:27:08 feynman kernel: eth0: Tx descriptor 0 is 00082042. (queue head) Jun 26 11:27:08 feynman kernel: eth0: Tx descriptor 1 is 00082042. Jun 26 11:27:08 feynman kernel: eth0: Tx descriptor 2 is 1008204e. Jun 26 11:27:08 feynman kernel: eth0: Tx descriptor 3 is 4008204e. Jun 26 11:27:08 feynman kernel: eth0: MII #32 registers are: 1000 782d 0000 0000 01e1 0000 0000 0000. Jun 26 11:29:23 feynman kernel: eth0: no IPv6 routers present Jun 26 11:35:43 feynman kernel: eth0: Abnormal interrupt, status 00000008. Jun 26 11:36:15 feynman kernel: eth0: Transmit timeout, status 0d 0000 media 18. Jun 26 11:36:15 feynman kernel: eth0: Tx queue start entry 36053 dirty entry 36049, full. Jun 26 11:36:15 feynman kernel: eth0: Tx descriptor 0 is 4008204e. Jun 26 11:36:15 feynman kernel: eth0: Tx descriptor 1 is 0008204e. (queue head) Jun 26 11:36:15 feynman kernel: eth0: Tx descriptor 2 is 0008204e. Jun 26 11:36:15 feynman kernel: eth0: Tx descriptor 3 is 10082042. Jun 26 11:36:15 feynman kernel: eth0: MII #32 registers are: 1000 782d 0000 0000 01e1 0000 0000 0000. ------------------------ end of /var/log/messages ------------------ Notice that the funny thing is that all errors are related to transmitting data, while I'm doing an mget. I compiled rtl8139-diag.c and ran it when the network is ok, and when it isn't. I ran it with the following flags: -a -f -d -m -v -v. Attached are the output of a couple of runs. They differ only in the "RealTek chip registers at 0xd800", so I've included those lines only for the 2nd and 3rd case. I have no clue what this means. ------------------rtl8139-diag output for working network------------------ rtl8139-diag.c:v2.06 3/22/2002 Donald Becker ([email protected]) http://www.scyld.com/diag/index.html Index #1: Found a RealTek RTL8139 adapter at 0xd800. RealTek chip registers at 0xd800 0x000: 76843000 00006ecd 81000000 40000000 9008a04e 9008a046 9008a046 00002000 0x020: 0f368010 0f368610 0f368c10 0f369210 0f360000 0d0a0000 040003f0 0000c07f 0x040: 77000400 0000940e e1f7db3a 00000000 002c1000 00000000 008cc118 00100000 0x060: 1000700f 01e1782d 00000000 00000000 00000005 000f77c0 b0f243b9 8a36df43. No interrupt sources are pending. The chip configuration is 0x10 0x2c, MII half-duplex mode. The RTL8139 does not use a MII transceiver. It does have internal MII-compatible registers: Basic mode control register 0x1000. Basic mode status register 0x782d. Autonegotiation Advertisement 0x01e1. Link Partner Ability register 0x0000. Autonegotiation expansion 0x0000. Disconnects 0x0000. False carrier sense counter 0x0000. NWay test register 0x0005. Receive frame error count 0x0000. MII PHY #-1 transceiver registers:1111111111100000-> cccccccccccccccccccc MII read of -1:0 -> 0000. 00001111111111100001-> cccccccccccccccccccc MII read of -1:1 -> 0000. 00001111111111100010-> cccccccccccccccccccc MII read of -1:2 -> 0000. 00001111111111100011-> cccccccccccccccccccc MII read of -1:3 -> 0000. 00001111111111100100-> cccccccccccccccccccc MII read of -1:4 -> 0000. 00001111111111100101-> cccccccccccccccccccc MII read of -1:5 -> 0000. 00001111111111100110-> cccccccccccccccccccc MII read of -1:6 -> 0000. 00001111111111100111-> cccccccccccccccccccc MII read of -1:7 -> 0000. 00001111111111101000-> cccccccccccccccccccc MII read of -1:8 -> 0000. 00001111111111101001-> cccccccccccccccccccc MII read of -1:9 -> 0000. 00001111111111101010-> cccccccccccccccccccc MII read of -1:10 -> 0000. 00001111111111101011-> cccccccccccccccccccc MII read of -1:11 -> 0000. 00001111111111101100-> cccccccccccccccccccc MII read of -1:12 -> 0000. 00001111111111101101-> cccccccccccccccccccc MII read of -1:13 -> 0000. 00001111111111101110-> cccccccccccccccccccc MII read of -1:14 -> 0000. 00001111111111101111-> cccccccccccccccccccc MII read of -1:15 -> 0000. 00001111111111110000-> cccccccccccccccccccc MII read of -1:16 -> 0000. 00001111111111110001-> cccccccccccccccccccc MII read of -1:17 -> 0000. 00001111111111110010-> cccccccccccccccccccc MII read of -1:18 -> 0000. 00001111111111110011-> cccccccccccccccccccc MII read of -1:19 -> 0000. 00001111111111110100-> cccccccccccccccccccc MII read of -1:20 -> 0000. 00001111111111110101-> cccccccccccccccccccc MII read of -1:21 -> 0000. 00001111111111110110-> cccccccccccccccccccc MII read of -1:22 -> 0000. 00001111111111110111-> cccccccccccccccccccc MII read of -1:23 -> 0000. 00001111111111111000-> cccccccccccccccccccc MII read of -1:24 -> 0000. 00001111111111111001-> cccccccccccccccccccc MII read of -1:25 -> 0000. 00001111111111111010-> cccccccccccccccccccc MII read of -1:26 -> 0000. 00001111111111111011-> cccccccccccccccccccc MII read of -1:27 -> 0000. 00001111111111111100-> cccccccccccccccccccc MII read of -1:28 -> 0000. 00001111111111111101-> cccccccccccccccccccc MII read of -1:29 -> 0000. 00001111111111111110-> cccccccccccccccccccc MII read of -1:30 -> 0000. 00001111111111111111-> cccccccccccccccccccc MII read of -1:31 -> 0000. 0000. Basic mode control register 0x0000: Auto-negotiation disabled! Speed fixed at 10 mbps, half-duplex. 1111111111100001-> cccccccccccccccccccc MII read of -1:1 -> 0000. Basic mode status register 0x0000 ... 0000. Link status: not established. Capable of <Warning! No media capabilities>. Unable to perform Auto-negotiation, negotiation not complete. This transceiver has no vendor identification. I'm advertising 0000: Advertising no additional info pages. Using an unknown (non 802.3) encapsulation. Link partner capability is 0000:. Negotiation did not complete. ------------------rtl8139-diag output for not-working network, case 1------ RealTek chip registers at 0xd800 0x000: 76843000 00006ecd 81000000 40000000 00002000 00002000 00002000 00002000 0x020: 0f368010 0f368610 0f368c10 0f369210 0f360000 0d0a0000 3fdc3fcc 0000c07f 0x040: 77000400 0000940e 7c1e77f3 00000000 002c1000 00000000 008cc118 00100000 0x060: 1000000f 01e1782d 00000000 00000000 00000005 000f77c0 b0f243b9 8a36df43 ------------------rtl8139-diag output for not-working network, case 2------ RealTek chip registers at 0xd800 0x000: 76843000 00006ecd 81000000 40000000 00002000 00002000 00002000 00002000 0x020: 0f368010 0f368610 0f368c10 0f369210 0f360000 0d0a0000 28102800 0000c07f 0x040: 77000400 0000940e a26c3e62 00000000 002c1000 00000000 008cc118 00100000 0x060: 1000000f 01e1782d 00000000 00000000 00000005 000f77c0 b0f243b9 8a36df43 -------------------------end of rtl8139-diag output ----------------------- If anybody is interested, I'd be happy to send my patched version of the 1.18 driver. Obviously, I take no credit for these patches at all. It all goes to Donald Becker and the people I mentioned before for the patches. That's it really. We're going to try to stick in another network card without RTL8139, such that I can forget about this mess. I'm posting all this info hoping that my wasted time will benefit somebody else. If anybody sorts out the problems with this driver, I'd still be interested. I won't guarantee that I will test it though. Hopefully my other network card will solve all my problems. Good luck Kris Thielemans (kris.thielemans <at> ic.ac.uk) Imaging Research Solutions Ltd Cyclotron Building Hammersmith Hospital Du Cane Road London W12 ONN, United Kingdom web site address: http://www.irsl.org/~kris