USB 3.0 외장 하드 드라이브가 USB 3.0 속도로 실행되지 않는 이유는 무엇입니까?


16

필자는 최근 Linux 상자에서 USB 3.0 외장 하드 드라이브를 사용하기 위해 PCI Express x1 USB 3.0 컨트롤러 카드 (NEC USB 3.0 컨트롤러 포함)를 구입했습니다. 카드를 마더 보드의 빈 PCIe 슬롯에 설치하고 카드를 전원 케이블에 연결하고 새 포트 중 하나와 외부 HDD 사이에 USB 3.0 케이블을 연결 한 다음 전원을 공급하기 위해 HDD를 벽면 콘센트에 연결했습니다. 시스템을 부팅 할 때 드라이브는 처리 속도를 제외하고 의도 한대로 100 % 작동합니다. SuperSpeed ​​4.8Gbps 연결을 사용하는 대신 고속 480Mbps USB 2.0 스타일 처리량으로 되돌아가는 것 같습니다. 디스크 유틸리티는 480Mbps 장치로 표시되며, 몇 가지 디스크 유틸리티 및 dd 벤치 마크를 실행하면 드라이브가 ~ 40MB / s (USB 2.0의 대략적인 한계)를 초과하지 못하는 SSD 임에도 불구하고 드라이브가 ~ 40MB / s를 초과하지 않는 것으로 확인됩니다. 그.

USB 3.0 HDD를 연결 dmesg하면 다음 과 같이 표시됩니다.

[ 3923.280018] usb 3-2: new high speed USB device using ehci_hcd and address 6

내가 이것을 찾을 것으로 예상되는 곳 :

[ 3923.280018] usb 3-2: new SuperSpeed USB device using xhci_hcd and address 6

내 시스템은 당시 커널 2.6.35-25-generic에서 실행 중이었습니다. 그런 다음 2.6.37-rc5 이전의 커널에 있던 버그가 이러한 유형의 문제의 원인 일 수 있다는 사실을 발견 한 개인 이이 포럼 스레드 를 우연히 발견했습니다. 결과적으로 2.6.37 일반 mainline Ubuntu 커널을 설치하여 문제가 해결되는지 확인했습니다. 그렇게하지 않았으므로 2010.02.01부터 2.6.38-rc3-generic 및 심지어 2.6.38 밤을 시도했지만 아무 소용이 없었습니다.

요컨대, 커널에서 USB 3.0을 지원하면 USB 3.0 드라이브가 최대 SuperSpeed ​​처리량으로 실행되지 않는 이유를 확인하려고합니다.

자세한 내용은이 질문 아래의 주석을 참조하십시오.


문제와 관련이있을 수있는 출력 (2.6.38-rc3에서 부팅 할 때) :

관련 라인 dmesg:

[   19.589491] xhci_hcd 0000:03:00.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17
[   19.589512] xhci_hcd 0000:03:00.0: setting latency timer to 64
[   19.589516] xhci_hcd 0000:03:00.0: xHCI Host Controller
[   19.589623] xhci_hcd 0000:03:00.0: new USB bus registered, assigned bus number 12
[   19.650492] xhci_hcd 0000:03:00.0: irq 17, io mem 0xf8100000
[   19.650556] xhci_hcd 0000:03:00.0: irq 47 for MSI/MSI-X
[   19.650560] xhci_hcd 0000:03:00.0: irq 48 for MSI/MSI-X
[   19.650563] xhci_hcd 0000:03:00.0: irq 49 for MSI/MSI-X
[   19.653946] xHCI xhci_add_endpoint called for root hub
[   19.653948] xHCI xhci_check_bandwidth called for root hub

관련 섹션 sudo lspci -v:

03:00.0 USB Controller: NEC Corporation uPD720200 USB 3.0 Host Controller (rev 03) (prog-if 30)
    Flags: bus master, fast devsel, latency 0, IRQ 17
    Memory at f8100000 (64-bit, non-prefetchable) [size=8K]
    Capabilities: [50] Power Management version 3
    Capabilities: [70] MSI: Enable- Count=1/8 Maskable- 64bit+
    Capabilities: [90] MSI-X: Enable+ Count=8 Masked-
    Capabilities: [a0] Express Endpoint, MSI 00
    Capabilities: [100] Advanced Error Reporting
    Capabilities: [140] Device Serial Number ff-ff-ff-ff-ff-ff-ff-ff
    Capabilities: [150] #18
    Kernel driver in use: xhci_hcd
    Kernel modules: xhci-hcd

관련 섹션 sudo lsusb -v:

Bus 012 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               3.00
  bDeviceClass            9 Hub
  bDeviceSubClass         0 Unused
  bDeviceProtocol         3 
  bMaxPacketSize0         9
  idVendor           0x1d6b Linux Foundation
  idProduct          0x0003 3.0 root hub
  bcdDevice            2.06
  iManufacturer           3 Linux 2.6.38-020638rc3-generic xhci_hcd
  iProduct                2 xHCI Host Controller
  iSerial                 1 0000:03:00.0
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           25
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xe0
      Self Powered
      Remote Wakeup
    MaxPower                0mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         9 Hub
      bInterfaceSubClass      0 Unused
      bInterfaceProtocol      0 Full speed (or root) hub
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0004  1x 4 bytes
        bInterval              12
Hub Descriptor:
  bLength               9
  bDescriptorType      41
  nNbrPorts             4
  wHubCharacteristic 0x0009
    Per-port power switching
    Per-port overcurrent protection
    TT think time 8 FS bits
  bPwrOn2PwrGood       10 * 2 milli seconds
  bHubContrCurrent      0 milli Ampere
  DeviceRemovable    0x00
  PortPwrCtrlMask    0xff
 Hub Port Status:
   Port 1: 0000.0100 power
   Port 2: 0000.0100 power
   Port 3: 0000.0100 power
   Port 4: 0000.0100 power
Device Status:     0x0003
  Self Powered
  Remote Wakeup Enabled

완전하고 상세하지 않은 내용 lsusb:

Bus 012 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 011 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 010 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 009 Device 003: ID 04d9:0702 Holtek Semiconductor, Inc. 
Bus 009 Device 002: ID 046d:c068 Logitech, Inc. G500 Laser Mouse
Bus 009 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 006: ID 174c:5106 ASMedia Technology Inc. 
Bus 003 Device 004: ID 0bda:0151 Realtek Semiconductor Corp. Mass Storage Device (Multicard Reader)
Bus 003 Device 002: ID 058f:6366 Alcor Micro Corp. Multi Flash Reader
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 006: ID 1687:0163 Kingmax Digital Inc. 
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 046d:081b Logitech, Inc. 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

전체 출력 :


1
간단한 (자세하지 않은) 간단한 내용을 얻을 수 lsusb있습니까? 다른 사람들이 성공적으로 사용하는 컨트롤러와 커널에 많은 관심을 기울였습니다. 드라이브에 결함이있는 것 같습니다.
Oli

@Oli : 좋아, 나는 그 결과를 질문에 추가했다.
jgottula

그리고 그것이 드라이브 일 수 있다고 언급 했으므로 Kingston SSDNow V 드라이브 (SNV125-S2 / 30GB)와 함께 Rosewill USB3-to-SATA 어댑터 (RAD-SATA-USB3)를 사용하고 있습니다.
jgottula

1
감사. 드라이브 인클로저는 ASMedia ASM1051 칩셋을 사용합니다.
Oli

이 세부 사항이 유용 할 경우 USB 3.0 PCIe 카드는 AZiO AUDU3이며 인기있는 NEC 컨트롤러를 사용합니다.
jgottula

답변:


5

디스크가 올바른 (USB 3.0) 포트에 연결되어 있습니까? USB 3.0 컨트롤러가 USB 버스 # 12를 제공하는 것처럼 보이지만 디스크는 USB 버스 # 3에 연결되어 있습니다.

dmesg에 따르면 USB 버스 # 3은 PCI 장치 '06 : 01.2 : USB 컨트롤러 : VIA Technologies, Inc. USB 2.0 (rev 65) '에서 제공되며 USB 2.0 만 있습니다.


4
내 큰 당황에, 당신은 절대적으로 맞아! 내 마더 보드에서 두 개의 USB 카드가 나오고 USB 3.0 케이블을 꽂으려면 주변에 닿아 야했기 때문에 Linux를 실행할 때는 잘못된 것으로, Windows를 실행할 때는 (사실상) 올바른 포트를 사용해야했습니다! 이번에는 (Linux의 경우) 케이블을 파란색 포트에 꽂았는지 확인하여 120MB / s의 전체 처리량을 달성했습니다. 당황스러운 오류를 지적 해 주셔서 감사합니다!
jgottula

ot! 나는 당신이 그것을 분류있어서 기쁘다 :)
Jeremy Kerr

2
Man ... 나중에 PEBCAK 인 것을 알기 위해이 질문을 좋아했습니다! : P urbandictionary.com/define.php?term=pebcak
바보

1
PICNIC는 발음하기 쉽고 단어에 더 많은 놀이를 제공하기 때문에 PEBCAK에 더 선호되는 용어입니다. PICNIC = 컴퓨터에없는 의자에 문제가 있습니다.
Kat Amsterdam
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.