I am trying to use g_ether with a USB 3 gadget (PLX 3380).
During testing I noticed that the transfer speed is much lower than expected at 
42MB/s vs a 95Mb/s for a gigabit connection between the same machines.
The same gadget is capable of transferring 170MB/s via USB 3 when reading from 
a g_mass_storage provided virtual drive.

Perusing the code of f_ecm.c I noticed that the maximum theoretical bitrate for 
USB 3 gadgets is calculated as 13 * 1024 * 8 * 1000 * 8 = 851,968,000 (roughly 
850Mbit/s) and for USB 2 gadgets as 13 * 512 * 8 * 1000 * 8 = 425,984,000 
(roughly 425 Mbit/s). 
I was wondering what that calculation is based on? The 1024/512 seem to be the 
IN/OUT buffer size being used. 
Technically USB3 allows for a native bitrate (after 8/10b coding) of 4Gbit/s. 

Regards,
Paul.

On 18 Jan 2015, at 16:49, Paul Jones <p.jo...@teclyn.com> wrote:

> Ricardo,
> 
> I think I figured out the problem: my 3380 was running in legacy adapter mode.
> I am now capable of connecting both g_mass_storage and g_ether without any 
> kernel panics after ensuring the 3380 is in enhanced adapter mode.
> 
> My only concern is the speed from my Mac to Linux:
> - g_ether: scp transfer 42Mb/s 
> - g_mass_storage: dd bs=64k 116Mb/s (backed by SSD storage)
> For comparison, a direct gigabit connection allows between 90 and 95Mb/s 
> using scp between the machines.
> Local writes on the linux side using dd is around 480Mb/s (on the same SSD 
> storage).
> 
> Any ideas on how to achieve a higher performance?
> 
> Regards,
> Paul.

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to