Ethernet card receiving influenced by CPU speed?

This is a discussion on Ethernet card receiving influenced by CPU speed? within the Linux Networking forums, part of the Linux Forums category; Hi everybody, This is a wild guess but I'm really at odds. I have tried two 100Mb Ethernet cards ...


Go Back   Usenet Forums > Linux Forums > Linux Networking

FAQ Members List Calendar Search Today's Posts Mark Forums Read
  #1 (permalink)  
Old 04-30-2004
svilen
 
Posts: n/a
Default Ethernet card receiving influenced by CPU speed?

Hi everybody,

This is a wild guess but I'm really at odds.

I have tried two 100Mb Ethernet cards on my old pc (486 AMD):
Compaq Netelligent 10/100
and Realtek RTL8139.
They both install, ping, transmit fine, but receive very very slow
(taking several minutes for a couple of MBs). 'ifconfig eth1' gives
lots of
errors, overruns,dropped packets (more than the good packets).
At the same time I have another ethernet card (10Mb Winbond NE2000
clone) on
this old machine which works abolutely fine. On top of this the
RTL8139 works
without errors on another faster machine (Celeron 450MHz).
Note that the Linux distributions,kernel versions,drivers on both
machines are the same.
I have not tested Compaq Netelligent on the faster machine.

I have tried compiling drivers as modules and as built-ins - it's all
the same.
Also tried changing pci slots, switch ports - without result.

So, is it possible that the cpu is not fast enough to process packets
coming on a 100Mb connection?


Thank you.

Svilen Stoilov
svilst at hotmail.com
Reply With Quote
  #2 (permalink)  
Old 04-30-2004
James Knott
 
Posts: n/a
Default Re: Ethernet card receiving influenced by CPU speed?

svilen wrote:

> So, is it possible that the cpu is not fast enough to process packets
> coming on a 100Mb connection?
>


Or perhaps the bus? IIRC, an ISA bus can't handle 100 Mb/s. There were
very few 100 Mb NICs for that reason. They were made so that you could
connect an older computer into a single speed 100 Mb hub. Fortunately,
dual speed hubs and switches eliminated that need.

--

Fundamentalism is fundamentally wrong.

To reply to this message, replace everything to the left of "@" with
james.knott.
Reply With Quote
  #3 (permalink)  
Old 04-30-2004
P Gentry
 
Posts: n/a
Default Re: Ethernet card receiving influenced by CPU speed?

svilst@hotmail.com (svilen) wrote in message news:<f6b84cfe.0404300004.364ea851@posting.google. com>...
> Hi everybody,
>
> This is a wild guess but I'm really at odds.
>
> I have tried two 100Mb Ethernet cards on my old pc (486 AMD):
> Compaq Netelligent 10/100 and Realtek RTL8139.
> They both install, ping, transmit fine, but receive very very slow
> (taking several minutes for a couple of MBs). 'ifconfig eth1' gives
> lots of errors, overruns,dropped packets (more than the good packets).


Check that they have negotiated an appropriate speed -- ie., 10Mb
rather than 100Mb.
Since I don't know what distro you're using :-( ... mii-tool ?)

> At the same time I have another ethernet card (10Mb Winbond NE2000
> clone) on this old machine which works abolutely fine. On top of this the
> RTL8139 works without errors on another faster machine (Celeron 450MHz).
> Note that the Linux distributions,kernel versions,drivers on both
> machines are the same.


Since 10Mb works fine, have you manually set the others to 10Mb?
Auto-negotiation, especially in older boxes/cards, is not 100%
reliable.

> I have not tested Compaq Netelligent on the faster machine.
>
> I have tried compiling drivers as modules and as built-ins - it's all
> the same.
> Also tried changing pci slots, switch ports - without result.


Sounds like you've tried all the "hardware" tricks.

> So, is it possible that the cpu is not fast enough to process packets
> coming on a 100Mb connection?


As J.K. suggests, it could be a bus issue. What do you get from :
$ cat /proc/pci
Any clues? $ dmesg output?

> Thank you.
>
> Svilen Stoilov
> svilst at hotmail.com


Most unlikely that the cpu couldn't handle interrupt processing -- if
so the transmission rate should back off as the receive buffers fill
(with TCP).

Without command output, we have nothing but your verbal descriptions
to go on, so here's my standard quick checks:

-- when ifconfig shows anything about errrors, I check output of :
$ netstat -s -p tcp

-- check the speed/link state/duplex mode with mii-tool -- manually
changing to slower/simpler setting to test performance

-- check dmesg and /proc/pci

-- double check that I've not changed anything from a default setting
regarding ipv4 or (with 2 nics) checked that I've set
/proc/sys/net/ipv4/ip_forward if routing ;-)

-- double check routing tables and arp cache

-- make sure neighbors' (GW) routing tables and arp cache show OK re:
the misbehaving box/nic

-- swap hardware around, which you've done already

-- confirm that nic works in another box, which you've done already
with the Realtek

-- then, personally, I usually look down and find something plugged in
wrong (or not at all), but I digress for your humor

hth,
prg
email above disabled
Reply With Quote
  #4 (permalink)  
Old 04-30-2004
svilen
 
Posts: n/a
Default Re: Ethernet card receiving influenced by CPU speed?

> > So, is it possible that the cpu is not fast enough to process packets
> > coming on a 100Mb connection?
> >

>
> Or perhaps the bus? IIRC, an ISA bus can't handle 100 Mb/s. There were
> very few 100 Mb NICs for that reason. They were made so that you could
> connect an older computer into a single speed 100 Mb hub. Fortunately,
> dual speed hubs and switches eliminated that need.


All ethernet cards are on PCI.

BTW when I force the Compaq Netitelligent 10/100 to run at 10Mb it
works fine.
No errors at all. Speed ~ 400 KB/s.

At 100Mb - trasmitting is the same as at 10Mb, not faster; and
receiving ~ 15 KB/s with lots of errors.

If it's true that these 100Mb cards are not made for such ancient 486
systems - then there must be some minimal hardware requirements for
proper operation of such cards. Any suggestions about it?
Reply With Quote
  #5 (permalink)  
Old 04-30-2004
svilen
 
Posts: n/a
Default Re: Ethernet card receiving influenced by CPU speed?

Thank you for the suggested ways to explore the problem.
I hope the diagnostic output is not too copious.

I'm using Slackware 9.0 - 2.4.20

--- parts of dmesg ---
32MB LOWMEM available.
ne2k-pci.c:v1.02 10/19/2000 D. Becker/P. Gortmaker
http://www.scyld.com/network/ne2k-pci.html
eth0: Winbond 89C940 found at 0x6000, IRQ 9, 48:54:E8:28:F8:06.
ThunderLAN driver v1.15
TLAN: eth1 irq=10, io=6100, Compaq Netelligent 10/100 TX PCI UTP, Rev.
16
TLAN: 1 device installed, PCI: 1 EISA: 0
TLAN: eth1: Starting autonegotiation.
TLAN: eth1: Autonegotiation complete.
TLAN: eth1: Link active with AutoNegotiation enabled, at 100Mbps
Full-Duplex
TLAN: Partner capability: 10BaseT-HD 10BaseT-FD 100baseTx-HD
100baseTx-FD<NULL>

IN=eth0 OUT= MAC=ff:ff:ff:ff:ff:ff:00:0d:87:7c:04:08:08:00
SRC=192.168.0.17 DST=192.168.0.255 LEN=202 TOS=0x00 PREC=0x00 TTL=128
ID=79 PROTO=UDP SPT=138 DPT=138 LEN=182
IN=eth0 OUT= MAC=ff:ff:ff:ff:ff:ff:00:0d:87:7c:04:08:08:00
SRC=192.168.0.17 DST=192.168.0.255 LEN=78 TOS=0x00 PREC=0x00 TTL=128
ID=80 PROTO=UDP SPT=137 DPT=137 LEN=58
.... and more like the above two lines;
--- end of dmseg ---

'mii-tool'
eth1: negotiated 100baseTx-FD, link ok

--- 'cat /proc/pci' ---
PCI devices found:
Bus 0, device 11, function 0:
Ethernet controller: Winbond Electronics Corp W89C940 (rev 0).
IRQ 9.
I/O at 0x6000 [0x601f].
Bus 0, device 13, function 0:
Network controller: Compaq Computer Corporation Netelligent 10/100
(rev 16).
IRQ 10.
Master Capable. Latency=32.
I/O at 0x6100 [0x610f].
Non-prefetchable 32 bit memory at 0xe0000000 [0xe000000f].
--------------------------

# after copying a file FROM another machine for about a minute a two

--- ifconfig eth1 ---
eth1 Link encap:Ethernet HWaddr 00:08:C7:24:CC:79
inet addr:200.200.200.99 Bcast:200.200.200.255
Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1792 errors:530 dropped:0 overruns:0 frame:530
TX packets:2336 errors:5 dropped:0 overruns:0 carrier:5
collisions:0 txqueuelen:100
RX bytes:2318589 (2.2 Mb) TX bytes:217171 (212.0 Kb)
Interrupt:10 Base address:0x6100

what does 'frame:' says?

--- netstat eth1 -s -p tcp ---
# I have removed most of the TCPstats that are 0

Ip:
1859 total packets received
0 forwarded
0 incoming packets discarded
1729 incoming packets delivered
2257 requests sent out
Tcp:
1 active connections openings
1 connections established
1720 segments received
2257 segments send out
2 segments retransmited
0 bad segments received.
0 resets sent
TcpExt:
ArpFilter: 0
526 delayed acks sent --> ?
5 packets header predicted
TCPSackFailures: 1
TCPLossFailures: 0
TCPTimeouts: 1

-- ifconfig eth1 --- (Compaq Netitelligent 10/100)
eth1 Link encap:Ethernet HWaddr 00:08:C7:24:CC:79
inet addr:200.200.200.99 Bcast:200.200.200.255
Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1792 errors:530 dropped:0 overruns:0 frame:530
--> RTL8139 has lots of dropped and overruns as well
TX packets:2336 errors:5 dropped:0 overruns:0 carrier:5
collisions:0 txqueuelen:100
RX bytes:2318589 (2.2 Mb) TX bytes:217171 (212.0 Kb)
Interrupt:10 Base address:0x6100

what does 'frame:' says?

I have posted it before: when forced to 10Mb the card works fine.
The point is: Shall I try to make the card work at 100Mb or shall I
give up. Is it possible on an old 486 system to achieve full card
speed.
BTW I have Windows on this old box as well (a separte hard drive). I
tested Compaq Netitelligent 10/100 there and the result was
pretty much the same as in Linux - receiving with speed ~ 30 KB/s. I
assume the card was autoconfigured in 100Mb mode as in Linux.

> -- then, personally, I usually look down and find something plugged in
> wrong (or not at all), but I digress for your humor
>

some time ago my modem stopped working. I started changing drivers
like mad and trying various things for one full day before finding out
that my dog had chewed up the telephone wire :)
Reply With Quote
  #6 (permalink)  
Old 04-30-2004
svilen
 
Posts: n/a
Default Re: Ethernet card receiving influenced by CPU speed?

Thank you for the suggested ways to explore the problem.
I hope the diagnostic output is not too copious.

I'm using Slackware 9.0 - 2.4.20

--- parts of dmesg ---
32MB LOWMEM available.
ne2k-pci.c:v1.02 10/19/2000 D. Becker/P. Gortmaker
http://www.scyld.com/network/ne2k-pci.html
eth0: Winbond 89C940 found at 0x6000, IRQ 9, 48:54:E8:28:F8:06.
ThunderLAN driver v1.15
TLAN: eth1 irq=10, io=6100, Compaq Netelligent 10/100 TX PCI UTP, Rev.
16
TLAN: 1 device installed, PCI: 1 EISA: 0
TLAN: eth1: Starting autonegotiation.
TLAN: eth1: Autonegotiation complete.
TLAN: eth1: Link active with AutoNegotiation enabled, at 100Mbps
Full-Duplex
TLAN: Partner capability: 10BaseT-HD 10BaseT-FD 100baseTx-HD
100baseTx-FD<NULL>

IN=eth0 OUT= MAC=ff:ff:ff:ff:ff:ff:00:0d:87:7c:04:08:08:00
SRC=192.168.0.17 DST=192.168.0.255 LEN=202 TOS=0x00 PREC=0x00 TTL=128
ID=79 PROTO=UDP SPT=138 DPT=138 LEN=182
IN=eth0 OUT= MAC=ff:ff:ff:ff:ff:ff:00:0d:87:7c:04:08:08:00
SRC=192.168.0.17 DST=192.168.0.255 LEN=78 TOS=0x00 PREC=0x00 TTL=128
ID=80 PROTO=UDP SPT=137 DPT=137 LEN=58
.... and more like the above two lines;
--- end of dmseg ---

'mii-tool'
eth1: negotiated 100baseTx-FD, link ok

--- 'cat /proc/pci' ---
PCI devices found:
Bus 0, device 11, function 0:
Ethernet controller: Winbond Electronics Corp W89C940 (rev 0).
IRQ 9.
I/O at 0x6000 [0x601f].
Bus 0, device 13, function 0:
Network controller: Compaq Computer Corporation Netelligent 10/100
(rev 16).
IRQ 10.
Master Capable. Latency=32.
I/O at 0x6100 [0x610f].
Non-prefetchable 32 bit memory at 0xe0000000 [0xe000000f].
--------------------------

# after copying a file FROM another machine for about a minute a two

--- ifconfig eth1 ---
eth1 Link encap:Ethernet HWaddr 00:08:C7:24:CC:79
inet addr:200.200.200.99 Bcast:200.200.200.255
Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1792 errors:530 dropped:0 overruns:0 frame:530
TX packets:2336 errors:5 dropped:0 overruns:0 carrier:5
collisions:0 txqueuelen:100
RX bytes:2318589 (2.2 Mb) TX bytes:217171 (212.0 Kb)
Interrupt:10 Base address:0x6100

what does 'frame:' says?

--- netstat eth1 -s -p tcp ---
# I have removed most of the TCPstats that are 0

Ip:
1859 total packets received
0 forwarded
0 incoming packets discarded
1729 incoming packets delivered
2257 requests sent out
Tcp:
1 active connections openings
1 connections established
1720 segments received
2257 segments send out
2 segments retransmited
0 bad segments received.
0 resets sent
TcpExt:
ArpFilter: 0
526 delayed acks sent --> ?
5 packets header predicted
TCPSackFailures: 1
TCPLossFailures: 0
TCPTimeouts: 1

-- ifconfig eth1 --- (Compaq Netitelligent 10/100)
eth1 Link encap:Ethernet HWaddr 00:08:C7:24:CC:79
inet addr:200.200.200.99 Bcast:200.200.200.255
Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1792 errors:530 dropped:0 overruns:0 frame:530
--> RTL8139 has lots of dropped and overruns as well
TX packets:2336 errors:5 dropped:0 overruns:0 carrier:5
collisions:0 txqueuelen:100
RX bytes:2318589 (2.2 Mb) TX bytes:217171 (212.0 Kb)
Interrupt:10 Base address:0x6100

what does 'frame:' says?

I have posted it before: when forced to 10Mb the card works fine.
The point is: Shall I try to make the card work at 100Mb or shall I
give up. Is it possible on an old 486 system to achieve full card
speed.
BTW I have Windows on this old box as well (a separte hard drive). I
tested Compaq Netitelligent 10/100 there and the result was
pretty much the same as in Linux - receiving with speed ~ 30 KB/s. I
assume the card was autoconfigured in 100Mb mode as in Linux.

> -- then, personally, I usually look down and find something plugged in
> wrong (or not at all), but I digress for your humor
>

some time ago my modem stopped working. I started changing drivers
like mad and trying various things for one full day before finding out
that my dog had chewed up the telephone wire :)
Reply With Quote
  #7 (permalink)  
Old 05-02-2004
P Gentry
 
Posts: n/a
Default Re: Ethernet card receiving influenced by CPU speed?

svilst@hotmail.com (svilen) wrote in message news:<f6b84cfe.0404301223.6002ff74@posting.google. com>...
> Thank you for the suggested ways to explore the problem.
> I hope the diagnostic output is not too copious.
>
> I'm using Slackware 9.0 - 2.4.20

[snip]

dmesg, etc. indicates everything OK -- the network stats, however ...

Looking over the outputs you posted, I'm inclined to think you've got
a hardware problem -- perhaps one that only shows up when pushing the
nics in this 486 to 100Mb.

It could be a marginal cable, a "worn" jack at either end, a bad port
on a hub/switch (if you're using one), or a questionable nic at the
far end of the connection. It might even be something subtle enough
that it would be very hard to isolate.

BTW, some of these "early" 486/PCI mobos could be a little flakey and
it usually shows up in nics and video cards. I would probably learn
to live with reliable 10Mb rather than working too hard to get 100Mb.

So the bottom line is how much time you're willing to invest sorting
out the possible causes. If it was me I would probably work on it in
my spare, nothing-better-to-do moments after going through the basics
of switching patch cords, ports, and checking performance of the far
end nic.

Re: your output and questions ...

--- ifconfig eth1 ---
....
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1792 errors:530 dropped:0 overruns:0 frame:530
TX packets:2336 errors:5 dropped:0 overruns:0 carrier:5
collisions:0 txqueuelen:100

The RX line shows packet count and errors (total and catergorized)
recorded by the nic on its receiving circuit -- here 530 frames had
errors.

Frames are the "packets" used to send ethernet signals/data on the
wire. The error checking code (FCS/CRC) included in the frames
(calculated by the sending device) did not match what this nic's
receiving unit calculated using the same routines. These frames
(packets) are dropped immediately to guard against baaaad side
effects. These are caused by what is termed "noise" (a.k.a.
interference in laymen's terms). Could be caused by faulty hardware
circuits, cables not properly shielding the signal, or excessive EMI
(electromagnetic interference) emissions from another piece of
equipment in or near the nics/cable. Your error rate is nearly 30% --
IIRC, anything above ~0.3% is considered unaccepatble. This is a
serious hardware problem!

The TX line shows similar info for the transmitting circuit. 5 times
the nic had data to transmit but found no proper "carrier" signal on
the wire -- a carrier signal is needed to "carry" (cute, huh?) the
nic's data signal on the wire. This ain't good either. My experience
is that any carrier errors are "serious" unless you know their cause
beforehand.

TCP "acknowledges" the packets it receives so the sender knows they
arrived OK. DelayedAcks are acknowledgements of received packets that
are not getting back to the sender in a timely manner. In and of
themselves, they don't tell us much except that you've got a large
number of them -- some apps are known to generate quite a few. For
the details you can look at:
http://www.faqs.org/rfcs/rfc3465.html

The netstat output shows just how robust TCP is in the face of errors.
It slows things down (reduced throughput) but it keeps trying to get
the packets it "knows" should be arriving. And gets them.

hth,
prg
email above disabled
Reply With Quote
  #8 (permalink)  
Old 05-02-2004
svilen
 
Posts: n/a
Default Re: Ethernet card receiving influenced by CPU speed?

I give up 100Mb connection efforts for my old 486 box.

BTW someone told me that 100Mb PCI NICs require PCI v2.1 and
definitely the PCI in 486 is far below (I think 1.0)

Thank you for the detailed explanations.
Reply With Quote
Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are Off
[IMG] code is Off
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On




All times are GMT +1. The time now is 01:07 AM.


Powered by vBulletin® Version 3.7.3
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.0.0