J'ai récemment acheté une carte contrôleur PCI Express x1 USB 3.0 (contenant le contrôleur NEC USB 3.0) dans le but d'utiliser un disque dur externe USB 3.0 avec ma machine Linux. J'ai installé la carte dans un emplacement PCIe vide de ma carte mère, connecté la carte à un câble d'alimentation, branché un câble USB 3.0 entre l'un des nouveaux ports et mon disque dur externe et connecté le disque dur à une prise murale. Lorsque le système démarre, le lecteur fonctionne à 100% comme prévu, à la seule exception du débit: plutôt que d'utiliser la connectivité SuperSpeed 4,8 Gbps, il semble revenir au débit à haute vitesse de type USB 2.0 à 480 Mbps. L’Utilitaire de disque indique qu’il s’agit d’un périphérique à 480 Mbits/s. L’exécution de quelques tests d’utilitaire de disque et de dd confirme que le lecteur ne dépasse pas ~ 40 Mo/s (la limite approximative de l’USB 2.0), alors qu’il est un SSD capable de cette.
Lorsque je connecte mon disque dur USB 3.0, dmesg
indique ceci:
[ 3923.280018] usb 3-2: new high speed USB device using ehci_hcd and address 6
où je m'attendrais à trouver ceci:
[ 3923.280018] usb 3-2: new SuperSpeed USB device using xhci_hcd and address 6
Mon système fonctionnait sur le noyau 2.6.35-25-generic à l'époque. Ensuite, je suis tombé sur ce sujet du forum par une personne qui a découvert qu'un bogue, présent dans les noyaux avant la version 2.6.37-rc5, pouvait être à l'origine de ce type de problème. En conséquence, j'ai installé le noyau Ubuntu 2.6.37 générique pour déterminer si le problème disparaîtrait. Cela n’a pas été le cas, j’ai donc essayé la 2.6.38-rc3-generic, et même la 2.6.38 tous les soirs à partir du 2010.02.01, en vain.
En résumé, j'essaie de comprendre pourquoi, avec la prise en charge de l'USB 3.0 dans le noyau, mon lecteur USB 3.0 ne parvient pas à fonctionner à plein débit SuperSpeed.
Voir les commentaires sous cette question pour plus de détails.
Résultat pouvant être lié au problème (lors du démarrage à partir de la version 2.6.38-rc3):
Lignes pertinentes de dmesg
name__:
[ 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
Section pertinente de 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
Section pertinente de 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
Complet, non-verbeux lsusb
name__:
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
Sortie complète:
Etes-vous sûr que le disque est branché sur le bon port (USB 3.0)? Il semble que votre contrôleur USB 3.0 fournisse le bus USB n ° 12, mais le disque est connecté au bus USB n ° 3.
Selon votre dmesg, le bus USB n ° 3 est fourni par le périphérique PCI '06: 01.2: Contrôleur USB: VIA Technologies, Inc. USB 2.0 (version 65) ', qui ne sera que USB 2.0.