Tại sao ổ cứng ngoài USB 3.0 không chạy ở tốc độ USB 3.0?


16

Gần đây tôi đã mua thẻ điều khiển PCI Express x1 USB 3.0 (chứa bộ điều khiển NEC USB 3.0) với mục đích sử dụng ổ cứng ngoài USB 3.0 với hộp Linux của tôi. Tôi đã cài đặt thẻ vào khe cắm PCIe trống trên bo mạch chủ của mình, kết nối thẻ với cáp nguồn, nối cáp USB 3.0 giữa một trong các cổng mới và ổ cứng gắn ngoài của tôi và kết nối ổ cứng với ổ cắm trên tường. Khởi động hệ thống, ổ đĩa hoạt động 100% như dự định, ngoại trừ thông lượng: thay vì sử dụng kết nối SuperSpeed ​​4,8 Gbps, dường như nó đang quay trở lại thông lượng kiểu USB 2.0 tốc độ cao 480 Mbps. Disk Utility cho thấy nó là một thiết bị 480 Mbps và chạy một vài điểm chuẩn của Disk Utility và dd xác nhận rằng ổ đĩa không vượt quá ~ 40 MB / s (giới hạn gần đúng của USB 2.0), mặc dù nó là ổ SSD có khả năng vượt xa cái đó.

Khi tôi kết nối ổ cứng USB 3.0, dmesgsẽ hiển thị:

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

nơi tôi mong đợi để tìm thấy điều này:

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

Hệ thống của tôi đang chạy trên kernel 2.6,35-25 tại thời điểm đó. Sau đó, tôi tình cờ phát hiện ra chủ đề diễn đàn này bởi một cá nhân phát hiện ra rằng một lỗi xuất hiện trong hạt nhân trước 2.6.37-RC5, có thể là thủ phạm gây ra loại vấn đề này. Do đó, tôi đã cài đặt kernel Ubuntu dòng chính 2.6.37 để xác định xem sự cố có biến mất không. Không được, vì vậy tôi đã thử dùng 2.6,38-RC3 và thậm chí cả 2,6,38 hàng đêm từ 2010.02.01, nhưng không có kết quả.

Nói tóm lại, tôi đang cố xác định tại sao, với sự hỗ trợ USB 3.0 trong kernel, ổ USB 3.0 của tôi không chạy được với thông lượng SuperSpeed ​​đầy đủ.

Xem các ý kiến ​​dưới câu hỏi này để biết thêm chi tiết.


Đầu ra có thể liên quan đến sự cố (khi khởi động từ 2.6,38-RC3):

Các dòng liên quan từ 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

Phần có liên quan của 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

Phần có liên quan của 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

Đầy đủ, không dài dòng 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

Đầu ra đầy đủ:


1
Chúng tôi có thể có một đơn giản (không dài dòng) lsusbquá không? Bạn đã tập trung rất nhiều vào bộ điều khiển và kernel, cả hai đều được người khác sử dụng thành công. Tôi nghi ngờ ổ đĩa có thể có lỗi.
Oli

@Oli: Được rồi, tôi đã thêm đầu ra đó vào câu hỏi.
jgottula

Và vì bạn đã đề cập nó có thể là ổ đĩa, nên có thể lưu ý rằng tôi đang sử dụng bộ chuyển đổi USB3-to-SATA của Rosewill (RAD-SATA-USB3) với ổ đĩa Kingston SSDNow V (SNV125-S2 / 30GB).
jgottula

1
Cảm ơn. (Thêm cho người khác - và xin lỗi nếu bạn đã nói điều này rồi) vỏ ổ đĩa sử dụng chipset ASMedia ASM1051.
Oli

Trong trường hợp chi tiết này tỏ ra hữu ích, thẻ PCIe USB 3.0 là AZiO AUDU3, một lần nữa, sử dụng bộ điều khiển NEC phổ biến.
jgottula

Câu trả lời:


5

Bạn có chắc là đĩa đã được cắm vào cổng (USB 3.0) chính xác không? Có vẻ như bộ điều khiển USB 3.0 của bạn đang cung cấp USB bus # 12, nhưng đĩa được gắn vào bus USB # 3.

Theo dmesg của bạn, USB Bus # 3 được cung cấp bởi thiết bị PCI '06: 01.2: Bộ điều khiển USB: VIA Technologies, Inc. USB 2.0 (rev 65) ', sẽ chỉ là USB 2.0.


4
Với sự bối rối lớn của tôi, bạn hoàn toàn đúng! Tôi có hai thẻ USB ra khỏi bo mạch chủ của mình và vì tôi phải tiếp cận để cắm cáp USB 3.0, tôi đã phải cắm nhầm vào thẻ khi chạy Linux và (đặc biệt) cổng RIGHT khi chạy Windows! Chắc chắn rằng tôi đã cắm cáp vào một cổng màu xanh lần này (trong Linux) dẫn đến thông lượng 120 MB / s đầy đủ. Cảm ơn ngài đã chỉ ra lỗi đáng xấu hổ của tôi!
jgottula

đi lang thang Tôi rất vui vì bạn đã sắp xếp nó :)
Jeremy Kerr

2
Man ... Tôi thích câu hỏi này chỉ để tìm hiểu sau đó nó là một PEBCAK! : P urbandipedia.com/define.php?term=pebcak
đánh lừa kẻ ngốc

1
PICNIC là thuật ngữ được ưa chuộng hơn đối với PEBCAK vì nó dễ phát âm hơn và cung cấp nhiều cách chơi chữ hơn. PICNIC = Vấn đề trên ghế Không phải trong máy tính.
Kat Amsterdam
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.