2004-01-07 13:40:43

by Måns Rullgård

[permalink] [raw]
Subject: Slow receive with AX8817 USB2 ethernet adapter


I'm getting very bad receive rates with a Netgear FA-120 USB2 Ethernet
adapter under Linux 2.6.0. Timing an incoming TCP stream, I get only
600 kB/s. Sending works properly at 10 MB/s. I first reported this
problem some time in July or August. Is it just me having this issue?
Can I get any helpful information somehow?

--
M?ns Rullg?rd
[email protected]


2004-01-07 13:53:37

by Måns Rullgård

[permalink] [raw]
Subject: Re: Slow receive with AX8817 USB2 ethernet adapter

[email protected] (M?ns Rullg?rd) writes:

> I'm getting very bad receive rates with a Netgear FA-120 USB2 Ethernet
> adapter under Linux 2.6.0. Timing an incoming TCP stream, I get only
> 600 kB/s. Sending works properly at 10 MB/s. I first reported this
> problem some time in July or August. Is it just me having this issue?
> Can I get any helpful information somehow?

I can add that mii-tool reports this:

eth0: negotiated 100baseTx-FD flow-control, link ok
product info: vendor 00:00:20, model 32 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 flow-control
link partner: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD flow-control

--
M?ns Rullg?rd
[email protected]

2004-01-07 15:54:44

by David Hollis

[permalink] [raw]
Subject: Re: Slow receive with AX8817 USB2 ethernet adapter

On Wed, 2004-01-07 at 08:53, Måns Rullgård wrote:
> [email protected] (Måns Rullgård) writes:
>
> > I'm getting very bad receive rates with a Netgear FA-120 USB2 Ethernet
> > adapter under Linux 2.6.0. Timing an incoming TCP stream, I get only
> > 600 kB/s. Sending works properly at 10 MB/s. I first reported this
> > problem some time in July or August. Is it just me having this issue?
> > Can I get any helpful information somehow?
>
Hmm, I am seeing the same results using ttcp:

**** Send Results ****
[root@dhollis-lnx dhollis]# ttcp -t -s -D -n 8192 192.168.5.1
ttcp-t: buflen=8192, nbuf=8192, align=16384/0, port=5001 tcp ->
192.168.5.1
ttcp-t: socket
ttcp-t: nodelay
ttcp-t: connect
ttcp-t: 67108864 bytes in 7.89 real seconds = 8302.39 KB/sec +++
ttcp-t: 8192 I/O calls, msec/call = 0.99, calls/sec = 1037.80
ttcp-t: 0.0user 0.1sys 0:07real 1% 0i+0d 0maxrss 0+2pf 1118+151csw


**** Receiving Results *****
[root@dhollis-lnx 2.6.0]# ttcp -r -s -D
ttcp-r: buflen=8192, nbuf=2048, align=16384/0, port=5001 tcp
ttcp-r: socket
ttcp-r: accept from 192.168.5.1
ttcp-r: 16777216 bytes in 25.18 real seconds = 650.68 KB/sec +++
ttcp-r: 7385 I/O calls, msec/call = 3.49, calls/sec = 293.29
ttcp-r: 0.0user 0.1sys 0:25real 0% 0i+0d 0maxrss 0+2pf 10115+163csw


[root@dhollis-lnx 2.6.0]# ttcp -r -s -D
ttcp-r: buflen=8192, nbuf=2048, align=16384/0, port=5001 tcp
ttcp-r: socket
ttcp-r: accept from 192.168.5.1
ttcp-r: 67108864 bytes in 5.81 real seconds = 11276.03 KB/sec +++
ttcp-r: 42074 I/O calls, msec/call = 0.14, calls/sec = 7239.19
ttcp-r: 0.0user 0.4sys 0:05real 8% 0i+0d 0maxrss 0+2pf 41000+3667csw


Notice that I was able to achieve 11MB/s at one point and I was able to
repeat those results continually. I then unloaded the module, reloaded,
re-ifconfigged and was back at the 600-700k mark. It's going to take
some further debugging to fully trace this problem out.

--
David T Hollis <[email protected]>

2004-01-07 16:13:50

by David Hollis

[permalink] [raw]
Subject: Re: Slow receive with AX8817 USB2 ethernet adapter

On Wed, 2004-01-07 at 10:54, David T Hollis wrote:
> On Wed, 2004-01-07 at 08:53, Måns Rullgård wrote:
> > [email protected] (Måns Rullgård) writes:
> >
> > > I'm getting very bad receive rates with a Netgear FA-120 USB2 Ethernet
> > > adapter under Linux 2.6.0. Timing an incoming TCP stream, I get only
> > > 600 kB/s. Sending works properly at 10 MB/s. I first reported this
> > > problem some time in July or August. Is it just me having this issue?
> > > Can I get any helpful information somehow?
> >
> Hmm, I am seeing the same results using ttcp:
>
Some more results. This time I walked away for a few minutes, came back
and ran the test again and started getting the 10MB numbers again. No
driver unload, etc. Interesting thing is the I/O calls and time per
call. I'm curious as to whether the varying results are tied to memory
allocation, locking, or what.

[root@dhollis-lnx 2.6.0]# ttcp -r -s -D
ttcp-r: buflen=8192, nbuf=2048, align=16384/0, port=5001 tcp
ttcp-r: socket
ttcp-r: accept from 192.168.5.1
ttcp-r: 16777216 bytes in 24.33 real seconds = 673.40 KB/sec +++
ttcp-r: 7523 I/O calls, msec/call = 3.31, calls/sec = 309.20
ttcp-r: 0.0user 0.1sys 0:24real 0% 0i+0d 0maxrss 0+2pf 10348+204csw
[root@dhollis-lnx 2.6.0]# ttcp -r -s -D
ttcp-r: buflen=8192, nbuf=2048, align=16384/0, port=5001 tcp
ttcp-r: socket
ttcp-r: accept from 192.168.5.1
ttcp-r: 16777216 bytes in 26.47 real seconds = 618.95 KB/sec +++
ttcp-r: 7623 I/O calls, msec/call = 3.56, calls/sec = 287.98
ttcp-r: 0.0user 0.2sys 0:26real 0% 0i+0d 0maxrss 0+2pf 10502+218csw
[root@dhollis-lnx 2.6.0]# ttcp -r -s -D
ttcp-r: buflen=8192, nbuf=2048, align=16384/0, port=5001 tcp
ttcp-r: socket
ttcp-r: accept from 192.168.5.1
ttcp-r: 16777216 bytes in 1.49 real seconds = 11011.40 KB/sec +++
ttcp-r: 10862 I/O calls, msec/call = 0.14, calls/sec = 7300.16
ttcp-r: 0.0user 0.1sys 0:01real 8% 0i+0d 0maxrss 0+2pf 10685+712csw
[root@dhollis-lnx 2.6.0]# ttcp -r -s -D
ttcp-r: buflen=8192, nbuf=2048, align=16384/0, port=5001 tcp
ttcp-r: socket
ttcp-r: accept from 192.168.5.1
ttcp-r: 16777216 bytes in 1.49 real seconds = 10994.16 KB/sec +++
ttcp-r: 10722 I/O calls, msec/call = 0.14, calls/sec = 7194.79
ttcp-r: 0.0user 0.0sys 0:01real 6% 0i+0d 0maxrss 0+2pf 10467+1568csw
[root@dhollis-lnx 2.6.0]# ttcp -r -s -D
ttcp-r: buflen=8192, nbuf=2048, align=16384/0, port=5001 tcp
ttcp-r: socket
ttcp-r: accept from 192.168.5.1
ttcp-r: 67108864 bytes in 5.86 real seconds = 11183.02 KB/sec +++
ttcp-r: 42708 I/O calls, msec/call = 0.14, calls/sec = 7287.66
ttcp-r: 0.0user 0.4sys 0:05real 8% 0i+0d 0maxrss 0+2pf 41508+8406csw

--
David T Hollis <[email protected]>

2004-01-07 16:58:18

by Måns Rullgård

[permalink] [raw]
Subject: Re: Slow receive with AX8817 USB2 ethernet adapter

David T Hollis <[email protected]> writes:

> On Wed, 2004-01-07 at 10:54, David T Hollis wrote:
>> On Wed, 2004-01-07 at 08:53, Måns Rullgård wrote:
>> > [email protected] (Måns Rullgård) writes:
>> >
>> > > I'm getting very bad receive rates with a Netgear FA-120 USB2 Ethernet
>> > > adapter under Linux 2.6.0. Timing an incoming TCP stream, I get only
>> > > 600 kB/s. Sending works properly at 10 MB/s. I first reported this
>> > > problem some time in July or August. Is it just me having this issue?
>> > > Can I get any helpful information somehow?
>> >
>> Hmm, I am seeing the same results using ttcp:
>>
> Some more results. This time I walked away for a few minutes, came back
> and ran the test again and started getting the 10MB numbers again. No
> driver unload, etc. Interesting thing is the I/O calls and time per
> call. I'm curious as to whether the varying results are tied to memory
> allocation, locking, or what.

Just a very unscientific observation: my laptop emits a noise when the
ethernet is used. The pitch depends on the transfer rate. When
communicating with a working machine, and receiving from the ax8817,
there is a continuous high-pitch sound. When sending to the ax8817,
the sound has a much lower pitch (not surprising) and is also
intermittent with bursts lasting < 1/2 second followed by an
approximately 1/2 second pause. The lights on the switch behave
similarly.

--
M?ns Rullg?rd
[email protected]