* usbnet ethernet duplex issue?
@ 2005-06-17 19:27 Matt Mackall
2005-06-17 19:39 ` David Brownell
2005-06-20 11:47 ` [linux-usb-devel] " David Hollis
0 siblings, 2 replies; 4+ messages in thread
From: Matt Mackall @ 2005-06-17 19:27 UTC (permalink / raw)
To: David Brownell, linux-kernel, linux-usb-devel
I'm experimenting with a Netgear FA-120 USB 2.0 to Ethernet device and
seeing some strange behavior.
If I run a 100MB transfer (TCP, via nc and dd) over out LAN, with the
Netgear on the sending end, I get about 10MB/s, as expected.
Receiving, I get ~5MB/s. If I do simultaneous send and receive, the
throughput is a few K per second at best.
If I do the same transfers between a pair of isolated laptops, with
the Netgear on one end and Intel e100 or e1000 on the other, I see about
500-900K per second in either direction.
There are no errors detected by the usbnet driver and ethtool reports
that the device is autonegotiating, full duplex. Setting autoneg off
and duplex to half lets the isolated transfers go at wirespeed.
So the question is, what's up with duplex? Everything I can find about
the hardware (including the ASIX datasheet) claims it's full-duplex
capable but aside from the error counters, it's really behaving like a
half-duplex device.
--
Mathematics is the supreme nostalgia of our time.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: usbnet ethernet duplex issue?
2005-06-17 19:27 usbnet ethernet duplex issue? Matt Mackall
@ 2005-06-17 19:39 ` David Brownell
2005-06-20 11:47 ` [linux-usb-devel] " David Hollis
1 sibling, 0 replies; 4+ messages in thread
From: David Brownell @ 2005-06-17 19:39 UTC (permalink / raw)
To: Matt Mackall; +Cc: David Brownell, linux-kernel, linux-usb-devel
On Friday 17 June 2005 12:27 pm, Matt Mackall wrote:
>
> So the question is, what's up with duplex? Everything I can find about
> the hardware (including the ASIX datasheet) claims it's full-duplex
> capable but aside from the error counters, it's really behaving like a
> half-duplex device.
Well, USB itself is half duplex, but that wouldn't explain the issue
you're seeing. Maybe David Hollis or Phil Chang, who've both worked
with the ASIX parts, can cast some light on their quirks. This is
on a 2.6 kernel, I hope ... 2.4 kernels have packet queues a bit too
high up in the stack to get any real I/O overlap.
I know that when I've done "ttcp" Linux-to-Linux using a net2280 PCI
card [1] using CDC Ethernet protocols, I can get a bidirectional
transfer rate of around 25 Mbyte/sec (maybe a bit more, I forget;
that's untuned), so the bottleneck isn't the network or USB stacks.
- Dave
[1] http://store.yahoo.com/plxtech/net2280evb.html
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [linux-usb-devel] usbnet ethernet duplex issue?
2005-06-17 19:27 usbnet ethernet duplex issue? Matt Mackall
2005-06-17 19:39 ` David Brownell
@ 2005-06-20 11:47 ` David Hollis
2005-06-26 21:47 ` Matt Mackall
1 sibling, 1 reply; 4+ messages in thread
From: David Hollis @ 2005-06-20 11:47 UTC (permalink / raw)
To: Matt Mackall; +Cc: linux-usb-devel, linux-kernel, David Brownell
[-- Attachment #1: Type: text/plain, Size: 1694 bytes --]
On Fri, 2005-06-17 at 12:27 -0700, Matt Mackall wrote:
> I'm experimenting with a Netgear FA-120 USB 2.0 to Ethernet device and
> seeing some strange behavior.
>
> If I run a 100MB transfer (TCP, via nc and dd) over out LAN, with the
> Netgear on the sending end, I get about 10MB/s, as expected.
> Receiving, I get ~5MB/s. If I do simultaneous send and receive, the
> throughput is a few K per second at best.
>
> If I do the same transfers between a pair of isolated laptops, with
> the Netgear on one end and Intel e100 or e1000 on the other, I see about
> 500-900K per second in either direction.
>
> There are no errors detected by the usbnet driver and ethtool reports
> that the device is autonegotiating, full duplex. Setting autoneg off
> and duplex to half lets the isolated transfers go at wirespeed.
>
> So the question is, what's up with duplex? Everything I can find about
> the hardware (including the ASIX datasheet) claims it's full-duplex
> capable but aside from the error counters, it's really behaving like a
> half-duplex device.
>
First off, I hope you are testing with 2.6.12 or so. There are some
patches to handle the auto-negotiation that went in 2.6.11 or 2.6.12 and
they SHOULD be handling those cases better though it is certainly
possible that they don't work as well as they should. In some of my
testing, I was finding that I only really got the LPA from
autonegotiation on the first connect. Subsequent ones always returned
the same values, even if I connected into a 10mb hub or the like. I
haven't been able to determine if that is a shortcoming in the device or
not.
--
David Hollis <dhollis@davehollis.com>
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 189 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [linux-usb-devel] usbnet ethernet duplex issue?
2005-06-20 11:47 ` [linux-usb-devel] " David Hollis
@ 2005-06-26 21:47 ` Matt Mackall
0 siblings, 0 replies; 4+ messages in thread
From: Matt Mackall @ 2005-06-26 21:47 UTC (permalink / raw)
To: David Hollis; +Cc: linux-usb-devel, linux-kernel, David Brownell
On Mon, Jun 20, 2005 at 07:47:56AM -0400, David Hollis wrote:
> On Fri, 2005-06-17 at 12:27 -0700, Matt Mackall wrote:
> > I'm experimenting with a Netgear FA-120 USB 2.0 to Ethernet device and
> > seeing some strange behavior.
> >
> > If I run a 100MB transfer (TCP, via nc and dd) over out LAN, with the
> > Netgear on the sending end, I get about 10MB/s, as expected.
> > Receiving, I get ~5MB/s. If I do simultaneous send and receive, the
> > throughput is a few K per second at best.
> >
> > If I do the same transfers between a pair of isolated laptops, with
> > the Netgear on one end and Intel e100 or e1000 on the other, I see about
> > 500-900K per second in either direction.
> >
> > There are no errors detected by the usbnet driver and ethtool reports
> > that the device is autonegotiating, full duplex. Setting autoneg off
> > and duplex to half lets the isolated transfers go at wirespeed.
> >
> > So the question is, what's up with duplex? Everything I can find about
> > the hardware (including the ASIX datasheet) claims it's full-duplex
> > capable but aside from the error counters, it's really behaving like a
> > half-duplex device.
> >
>
> First off, I hope you are testing with 2.6.12 or so. There are some
> patches to handle the auto-negotiation that went in 2.6.11 or 2.6.12 and
> they SHOULD be handling those cases better though it is certainly
> possible that they don't work as well as they should. In some of my
> testing, I was finding that I only really got the LPA from
> autonegotiation on the first connect. Subsequent ones always returned
> the same values, even if I connected into a 10mb hub or the like. I
> haven't been able to determine if that is a shortcoming in the device or
> not.
This appears to be fixed as of 2.6.12.1. My final test before 2.612
was running UDP streams with netcat. It appeared to be dropping just
about all outbound packets without throttling the sender and without
reporting any errors. Now all seems to be behaving correctly, 11MBps
in both directions simultaneously.
--
Mathematics is the supreme nostalgia of our time.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2005-06-26 21:48 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-06-17 19:27 usbnet ethernet duplex issue? Matt Mackall
2005-06-17 19:39 ` David Brownell
2005-06-20 11:47 ` [linux-usb-devel] " David Hollis
2005-06-26 21:47 ` Matt Mackall
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox