Home
Reading
Searching
Subscribe
Sponsors
Statistics
Posting
Contact
Spam
Lists
Links
About
Hosting
Filtering
Features Download
Marketing
Archives
FAQ
Blog
 
Gmane
From: Lu Baolu <baolu.lu-VuQAYsv1563Yd54FQh9/CA <at> public.gmane.org>
Subject: Re: Poor performance with USB 1.1 drive connected to USB 3.0 port
Newsgroups: gmane.linux.usb.general
Date: Thursday 9th October 2014 08:45:39 UTC (over 2 years ago)
Hi Mark,

I got a different result with my machine. Below is the details.

 >>> Kernel version

[email protected]:~$ uname -a
Linux allen-ivb 3.17.0+ #1 SMP Thu Oct 9 16:19:28 CST 2014 x86_64 x86_64 
x86_64 GNU/Linux

 >>> Host controler information

[email protected]:~$ lspci | grep USB
00:14.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset 
Family USB xHCI Host Controller (rev 04)
00:1a.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset 
Family USB Enhanced Host Controller #2 (rev 04)
00:1d.0 USB controller: Intel Corporation 7 Series/C210 Series Chipset 
Family USB Enhanced Host Controller #1 (rev 04)

 >>> Connected to USB 2.0 port via USB 1.1 hub:

[email protected]:~$ lsusb -t
/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 480M
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/3p, 480M
     |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/8p, 480M
         |__ Port 5: Dev 3, If 0, Class=Human Interface Device, 
Driver=usbhid, 1.5M
         |__ Port 6: Dev 4, If 0, Class=Human Interface Device, 
Driver=usbhid, 1.5M
         |__ Port 6: Dev 4, If 1, Class=Human Interface Device, 
Driver=usbhid, 1.5M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/3p, 480M
     |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/6p, 480M
         |__ Port 4: Dev 3, If 0, Class=Hub, Driver=hub/3p, 12M
             |__ Port 1: Dev 4, If 0, Class=Human Interface Device, 
Driver=usbhid, 12M
             |__ Port 1: Dev 4, If 1, Class=Human Interface Device, 
Driver=usbhid, 12M
             |__ Port 3: Dev 5, If 0, Class=Mass Storage, 
Driver=usb-storage, 12M

[email protected]:~$ sudo ddpt if=/dev/sg2 bs=512 bpt=240 count=65536 
verbose=2
[sudo] password for allen:
  >> Input file type: pass-through [pt] device
open /dev/sg2 with flags=0x802
     inquiry cdb: 12 00 00 00 24 00
     /dev/sg2: ASMT      2105              0     [pdt=0]
  >> Output file type: null device
     read capacity (10) cdb: 25 00 00 00 00 00 00 00 00 00
   /dev/sg2 [pt]: blocks=62500000 [0x3b9aca0], _bs=512, 32.00 GB
skip=0 (blocks on input), seek=0 (blocks on output)
   ibs=512 bytes, obs=512 bytes, OBPC=0
   initial count=65536 (blocks of input), blocks_per_transfer=240
Output file not specified so no copy, just reading input
65536+0 records in
0+0 records out
time to read data: 30.037081 secs at 1.12 MB/sec


 >>> Connected to USB 3.0 port via USB 1.1 hub:

[email protected]:~$ lsusb -t
/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 480M
     |__ Port 3: Dev 2, If 0, Class=Hub, Driver=hub/3p, 12M
         |__ Port 1: Dev 3, If 0, Class=Human Interface Device, 
Driver=usbhid, 12M
         |__ Port 1: Dev 3, If 1, Class=Human Interface Device, 
Driver=usbhid, 12M
         |__ Port 3: Dev 5, If 0, Class=Mass Storage, 
Driver=usb-storage, 12M
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/3p, 480M
     |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/8p, 480M
         |__ Port 5: Dev 3, If 0, Class=Human Interface Device, 
Driver=usbhid, 1.5M
         |__ Port 6: Dev 4, If 0, Class=Human Interface Device, 
Driver=usbhid, 1.5M
         |__ Port 6: Dev 4, If 1, Class=Human Interface Device, 
Driver=usbhid, 1.5M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/3p, 480M
     |__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/6p, 480M


[email protected]:~$ sudo ddpt if=/dev/sg2 bs=512 bpt=240 count=65536 
verbose=2
  >> Input file type: pass-through [pt] device
open /dev/sg2 with flags=0x802
     inquiry cdb: 12 00 00 00 24 00
     /dev/sg2: ASMT      2105              0     [pdt=0]
  >> Output file type: null device
     read capacity (10) cdb: 25 00 00 00 00 00 00 00 00 00
   /dev/sg2 [pt]: blocks=62500000 [0x3b9aca0], _bs=512, 32.00 GB
skip=0 (blocks on input), seek=0 (blocks on output)
   ibs=512 bytes, obs=512 bytes, OBPC=0
   initial count=65536 (blocks of input), blocks_per_transfer=240
Output file not specified so no copy, just reading input
65536+0 records in
0+0 records out
time to read data: 27.816240 secs at 1.21 MB/sec

Thanks,
-baolu

On 09/30/2014 05:19 PM, Mark Knibbs wrote:
> On Tue, 30 Sep 2014 14:10:28 +0800
> "Lu, Baolu"  wrote:
>
>> On 9/30/2014 5:03 AM, Mark Knibbs wrote:
>>> Great. I hope someone else is motivated to reproduce the issue. It will
>>> take a long time for me to bisect due to my slow computer.
>> Hi Mark,
>>
>> I tried to reproduce this issue. I connected a USB key under a
>> full-speed hub.
> Just to confirm, I do see the slowdown with a USB 2.0 drive connected to
> USB 1.1 hub connected to USB 3.0 port. My results (kernel 3.17-rc6):
>
> Connected to USB 3.0 port via USB 1.1 hub:
>
> # ddpt if=/dev/sg6 bs=512 bpt=240 count=65536 verbose=2
>   >> Input file type: pass-through [pt] device
> open /dev/sg6 with flags=0x802
>      inquiry cdb: 12 00 00 00 24 00
>      /dev/sg6: Freecom   DataBar USB2.0    2.00  [pdt=0]
>   >> Output file type: null device
>      read capacity (10) cdb: 25 00 00 00 00 00 00 00 00 00
>    /dev/sg6 [readcap]: num_blocks=127908 [0x1f3a4], block_size=512, 65 MB
> skip=0 (blocks on input), seek=0 (blocks on output)
>    ibs=512 bytes, obs=512 bytes, OBPC=0
>    initial count=65536 (blocks of input), blocks_per_transfer=240
> Output file not specified so no copy, just reading input
> 65536+0 records in
> 0+0 records out
> time to read data: 58.147836 secs at 577.1 KB/sec
>
>
> Connected to USB 2.0 port via USB 1.1 hub:
>
> # ddpt if=/dev/sg6 bs=512 bpt=240 count=65536 verbose=2
>   >> Input file type: pass-through [pt] device
> open /dev/sg6 with flags=0x802
>      inquiry cdb: 12 00 00 00 24 00
>      /dev/sg6: Freecom   DataBar USB2.0    2.00  [pdt=0]
>   >> Output file type: null device
>      read capacity (10) cdb: 25 00 00 00 00 00 00 00 00 00
>    /dev/sg6 [readcap]: num_blocks=127908 [0x1f3a4], block_size=512, 65 MB
> skip=0 (blocks on input), seek=0 (blocks on output)
>    ibs=512 bytes, obs=512 bytes, OBPC=0
>    initial count=65536 (blocks of input), blocks_per_transfer=240
> Output file not specified so no copy, just reading input
> 65536+0 records in
> 0+0 records out
> time to read data: 39.146843 secs at 857.1 KB/sec
>
>
> Mark

--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
 
CD: 4ms