Distribution: SuSE 7.3 plus kernel from kernel.org: linux-2.4.23-4GB Hardware Environment: AMD Duron, MHz 1595.517, motherboard is ECS K7VTA3 Software Environment: Linux both ends, nothing unusual on the "slow" end Problem Description: The motherboard via rhine II network port will transfer at megabit speeds outbound but only 10k/sec (really, as slow as a modem) inbound. Using a different networking card in the slow system (same cable, same remote system) results in transfers equally fast in both directions. Steps to reproduce: 1. Wire two systems with crossover cable, both network cards/connections 100Mb/sec. Foreign system is SuSE Linux 7.1 (tested OK in both directions with other hardware) via-rhine: jazz:/usr/src/linux-2.4.23-4GB/drivers/net # ifconfig eth0 eth0 Link encap:Ethernet HWaddr 00:0D:87:54:57:8F inet addr:192.168.1.100 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::20d:87ff:fe54:578f/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:2542 errors:0 dropped:0 overruns:0 frame:0 TX packets:3313 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:1800206 (1.7 Mb) TX bytes:1156389 (1.1 Mb) Interrupt:11 Base address:0xec00 Foreign: ifconfig eth0 eth0 Link encap:Ethernet HWaddr 00:02:E3:22:53:C3 inet addr:192.168.1.1 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::202:e3ff:fe22:53c3/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:9781540 errors:0 dropped:0 overruns:0 frame:0 TX packets:4267905 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100 RX bytes:1308724602 (1248.0 Mb) TX bytes:318287014 (303.5 Mb) Interrupt:9 Base address:0xd000 NO errors are ever seen in any circumstances. Data flows out of the via rhine at 839k/sec using scp and back in at 10-15k/sec. debug=7 output from via-rhine module while receiving slowly: Feb 16 21:49:55 jazz kernel: eth0: via_rhine_rx(), entry 14 status 005a8f00. Feb 16 21:49:55 jazz kernel: via_rhine_rx() status is 005a8f00. Feb 16 21:49:55 jazz kernel: eth0: exiting interrupt, status=00000000. Feb 16 21:49:55 jazz kernel: eth0: Transmit frame #695 queued in slot 7. Feb 16 21:49:55 jazz kernel: eth0: Interrupt, status 00000002. Feb 16 21:49:55 jazz kernel: Tx scavenge 7 status 00000000. Feb 16 21:49:55 jazz kernel: collisions: 0:0 Feb 16 21:49:55 jazz kernel: eth0: exiting interrupt, status=00000000. Feb 16 21:50:00 jazz kernel: eth0: VIA Rhine monitor tick, status 0000. Feb 16 21:50:00 jazz kernel: eth0: Transmit frame #696 queued in slot 8. Feb 16 21:50:00 jazz kernel: eth0: Interrupt, status 00000002. Feb 16 21:50:00 jazz kernel: Tx scavenge 8 status 00000000. Feb 16 21:50:00 jazz kernel: collisions: 0:0 Feb 16 21:50:00 jazz kernel: eth0: exiting interrupt, status=00000000. Feb 16 21:50:01 jazz kernel: eth0: Transmit frame #697 queued in slot 9. Feb 16 21:50:01 jazz kernel: eth0: Interrupt, status 00000002. Feb 16 21:50:01 jazz kernel: Tx scavenge 9 status 00000000. Feb 16 21:50:01 jazz kernel: collisions: 0:0 Feb 16 21:50:01 jazz kernel: eth0: exiting interrupt, status=00000000. Feb 16 21:50:01 jazz kernel: eth0: Transmit frame #698 queued in slot 10. Feb 16 21:50:01 jazz kernel: eth0: Interrupt, status 00000002. Feb 16 21:50:01 jazz kernel: Tx scavenge 10 status 00000000. Feb 16 21:50:01 jazz kernel: collisions: 0:0 Feb 16 21:50:01 jazz kernel: eth0: exiting interrupt, status=00000000. Feb 16 21:50:02 jazz kernel: eth0: Transmit frame #699 queued in slot 11. Feb 16 21:50:02 jazz kernel: eth0: Interrupt, status 00000002. Feb 16 21:50:02 jazz kernel: Tx scavenge 11 status 00000000. Feb 16 21:50:02 jazz kernel: collisions: 0:0 Feb 16 21:50:02 jazz kernel: eth0: exiting interrupt, status=00000000. Feb 16 21:50:03 jazz kernel: eth0: Transmit frame #700 queued in slot 12. Feb 16 21:50:03 jazz kernel: eth0: Interrupt, status 00000002. Feb 16 21:50:03 jazz kernel: Tx scavenge 12 status 00000000. Feb 16 21:50:03 jazz kernel: collisions: 0:0 Feb 16 21:50:03 jazz kernel: eth0: exiting interrupt, status=00000000. Feb 16 21:50:07 jazz kernel: eth0: Transmit frame #701 queued in slot 13. Feb 16 21:50:07 jazz kernel: eth0: Interrupt, status 00000002. Feb 16 21:50:07 jazz kernel: Tx scavenge 13 status 00000000. Feb 16 21:50:07 jazz kernel: collisions: 0:0 Feb 16 21:50:07 jazz kernel: eth0: exiting interrupt, status=00000000. Feb 16 21:50:10 jazz kernel: eth0: VIA Rhine monitor tick, status 0000. Feb 16 21:50:14 jazz kernel: eth0: Transmit frame #702 queued in slot 14. Feb 16 21:50:14 jazz kernel: eth0: Interrupt, status 00000002. Feb 16 21:50:14 jazz kernel: Tx scavenge 14 status 00000000. Feb 16 21:50:14 jazz kernel: collisions: 0:0 Feb 16 21:50:14 jazz kernel: eth0: exiting interrupt, status=00000000. Note the exetremely slow transfers. I'm sorry, I am not very good at reading status, and can't tell if it is an underlying problem like PCI. I am willing to run tests or help in any way, and I can provide any additional information needed for debugging. Thanks
I have exactly the same kind of problem with all kernels 2.6 (including 2.6.5), and 2.4.21. There is more information on the thread of the Debian bug #245398: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=245398 Someone told about a similar proble on the LKML: http://lkml.org/lkml/2004/3/29/179
got 2.6.5, a via-rhine II and i had this speed problem until my hosting company changed a router. this router was in 10Mb HD. when connecting the machine to another router on 100Mb FD, traffic was ok could it be because this driver handles Half-Duplex badly ?? could other people (including reporter) tell us if that occured on a FD or HD network ? i had this when it was not working : (was 10HD) eth0: MII PHY found at address 1, status 0x786d advertising 05e1 Link 0021. and now i have that : (now on 100FD) eth0: MII PHY found at address 1, status 0x7869 advertising 05e1 Link 41e1. perhaps the router was faulty, or perhaps via-rhine II driver doesn't handle 10HD very well. as a side not, i had lots of frame count and colision count shown with ifconfig. i had the same speed problem when i tried 2.4.26 (but also had lots of lost packets)
Same here on 2.6.4 with a RhineII VT6102. When transferring from a PCMCIA Xircom card the speed from Xircom->PCMCIA is about 850-900 KB/s, and in opposite direction around 100-200KB/s, but after some minutes it hangs and I need to restart the PCMCIA driver (or pull the card out and in) to restore the connection. This is after I added full_duplex=1 to the via-rhine options, as otherwise the transfer speed were really low (<40KB/s).
Forgot to tell, but it's a logical conclusion: the PCMCIA card works well when I don't use the on-board VIA card, but an old RTL based one in the other machine.
Is this problem still present in recent 2.6 kernels?
Please reopen this bug if it's still present in kernel 2.6.16.
Problem still in 2.6.24-rc7