我有一个 USB3 WD Elements 外置硬盘。我的电脑前面有一组 USB2 端口,后面有一些 USB3 端口。我将硬盘插入其中一个 USB3 端口。这是一台 Windows 10 电脑,配有 Gigabyte B75-D3V 主板。
当我第一次使用该驱动器时,它的速度非常慢,所以我做了一些调查,发现(使用 USB Tree Viewer,来自www.uwe-sieber.de),该设备显示在“英特尔 (R) 7 系列/C216 芯片组系列 USB 增强型主机控制器 - 1E26”下的“通用 USB 2.0 集线器”上。我还有一个“英特尔 (R) USB 3.0 可扩展主机控制器 1.0 (Microsoft)”,其下方有一个 USB 3 集线器,但那里什么都没有连接。为了完整起见,我还有一个英特尔 1E2D 控制器和一个 USB 2 集线器,除了磁盘外,它还连接了所有其他东西(大多数东西都插在实际的 USB 2 端口上,但奇怪的是,还有一个耳机插在另一个 USB3 插槽上)。
磁盘在查看器中显示如下(这是第一部分,其中还有更多详细信息,如果有用的话我可以发布):
=========================== USB Port3 ===========================
Connection Status : 0x01 (Device is connected)
Port Chain : 1-1-3
========================== Summary =========================
Vendor ID : 0x1058 (Western Digital, Branded)
Product ID : 0x25A3
USB version : 2.10
Port maximum Speed : High-Speed
Device maximum Speed : SuperSpeed
Device Connection Speed : High-Speed
Self Powered : yes
Demanded Current : 30 mA
Used Endpoints : 3
======================== USB Device ========================
+++++++++++++++++ Device Information ++++++++++++++++++
Device Description : USB Mass Storage Device
Device Path : \\?\USB#VID_1058&PID_25A3#6&afeb119&0&3#{a5dcbf10-6530-11d2-901f-00c04fb951ed} (GUID_DEVINTERFACE_USB_DEVICE)
Kernel Name : \Device\USBPDO-11
Device ID : USB\VID_1058&PID_25A3\6&AFEB119&0&3
Hardware IDs : USB\VID_1058&PID_25A3&REV_1030 USB\VID_1058&PID_25A3
Driver KeyName : {36fc9e60-c465-11cf-8056-444553540000}\0012 (GUID_DEVCLASS_USB)
Driver : \SystemRoot\System32\drivers\USBSTOR.SYS (Version: 10.0.19041.1 Date: 2019-12-07)
Driver Inf : C:\Windows\inf\usbstor.inf
Legacy BusType : PNPBus
Class : USB
Class GUID : {36fc9e60-c465-11cf-8056-444553540000} (GUID_DEVCLASS_USB)
Service : USBSTOR
Enumerator : USB
Location Info : Port_#0003.Hub_#0005
Location IDs : PCIROOT(0)#PCI(1D00)#USBROOT(0)#USB(1)#USB(3), ACPI(_SB_)#ACPI(PCI0)#ACPI(EHC1)#ACPI(HUBN)#ACPI(PR01)#ACPI(PR13)
Container ID : {7acbd963-9001-11eb-bf9d-902b349f8197}
Manufacturer Info : Compatible USB storage device
Capabilities : 0x84 (Removable, SurpriseRemovalOK)
Status : 0x0180600A (DN_DRIVER_LOADED, DN_STARTED, DN_DISABLEABLE, DN_REMOVABLE, DN_NT_ENUMERATOR, DN_NT_DRIVER)
Problem Code : 0
Address : 3
HcDisableSelectiveSuspend: 0
EnableSelectiveSuspend : 0
SelectiveSuspendEnabled : 0
EnhancedPowerMgmtEnabled : 0
IdleInWorkingState : 0
WakeFromSleepState : 0
Power State : D0 (supported: D0, D3, wake from D0)
Child Device 1 : WD Elements 25A3 USB Device (Disk drive) (Disk4)
Device Path : \\?\USBSTOR#Disk&Ven_WD&Prod_Elements_25A3&Rev_1030#7&29edea3c&0&5647303642305847&0#{53f56307-b6bf-11d0-94f2-00a0c91efb8b} (GUID_DEVINTERFACE_DISK)
Kernel Name : \Device\0000008d
Device ID : USBSTOR\DISK&VEN_WD&PROD_ELEMENTS_25A3&REV_1030\7&29EDEA3C&0&5647303642305847&0
Class : DiskDrive
Driver KeyName : {4d36e967-e325-11ce-bfc1-08002be10318}\0004 (GUID_DEVCLASS_DISKDRIVE)
Service : disk
Volume : \\?\Volume{0b0c318d-19c1-496b-bc93-0640a42c57ee}\
Kernel Name : \Device\HarddiskVolume11
Mountpoint : I:\
+++++++++++++++++ Registry USB Flags +++++++++++++++++
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\usbflags\105825A31030
osvc : REG_BINARY 00 00
SkipContainerIdQuery : REG_BINARY 01 00 00 00
---------------- Connection Information ---------------
Connection Index : 0x03 (Port 3)
Connection Status : 0x01 (DeviceConnected)
Current Config Value : 0x01 (Configuration 1)
Device Address : 0x02 (2)
Is Hub : 0x00 (no)
Device Bus Speed : 0x02 (High-Speed)
Number Of Open Pipes : 0x02 (2 pipes to data endpoints)
Pipe[0] : EndpointID=1 Direction=IN ScheduleOffset=0 Type=Bulk
Pipe[1] : EndpointID=2 Direction=OUT ScheduleOffset=0 Type=Bulk
Data (HexDump) : 03 00 00 00 12 01 10 02 00 00 00 40 58 10 A3 25 ...........@X..%
30 10 01 02 03 01 01 02 00 02 00 02 00 00 00 01 0...............
00 00 00 07 05 81 02 00 02 00 00 00 00 00 07 05 ................
02 02 00 02 00 00 00 00 00 .........
--------------- Connection Information V2 -------------
Connection Index : 0x03 (3)
Length : 0x10 (16 bytes)
SupportedUsbProtocols : 0x03
Usb110 : 1 (yes, port supports USB 1.1)
Usb200 : 1 (yes, port supports USB 2.0)
Usb300 : 0 (no, port not supports USB 3.0)
ReservedMBZ : 0x00
Flags : 0x02
DevIsOpAtSsOrHigher : 0 (Device is not operating at SuperSpeed or higher)
DevIsSsCapOrHigher : 1 (Device is SuperSpeed capable or higher)
DevIsOpAtSsPlusOrHigher : 0 (Device is not operating at SuperSpeedPlus or higher)
DevIsSsPlusCapOrHigher : 0 (Device is not SuperSpeedPlus capable or higher)
ReservedMBZ : 0x00
Data (HexDump) : 03 00 00 00 10 00 00 00 03 00 00 00 02 00 00 00 ................
---------------------- Device Descriptor ----------------------
bLength : 0x12 (18 bytes)
bDescriptorType : 0x01 (Device Descriptor)
bcdUSB : 0x210 (USB Version 2.10)
bDeviceClass : 0x00 (defined by the interface descriptors)
bDeviceSubClass : 0x00
bDeviceProtocol : 0x00
bMaxPacketSize0 : 0x40 (64 bytes)
idVendor : 0x1058 (Western Digital, Branded)
idProduct : 0x25A3
bcdDevice : 0x1030
iManufacturer : 0x01 (String Descriptor 1)
Language 0x0409 : "Western Digital"
iProduct : 0x02 (String Descriptor 2)
Language 0x0409 : "Elements 25A3"
iSerialNumber : 0x03 (String Descriptor 3)
Language 0x0409 : "5647303642305847"
bNumConfigurations : 0x01 (1 Configuration)
Data (HexDump) : 12 01 10 02 00 00 00 40 58 10 A3 25 30 10 01 02 .......@X..%0...
03 01 ..
------------------ Configuration Descriptor -------------------
bLength : 0x09 (9 bytes)
bDescriptorType : 0x02 (Configuration Descriptor)
wTotalLength : 0x0020 (32 bytes)
bNumInterfaces : 0x01 (1 Interface)
bConfigurationValue : 0x01 (Configuration 1)
iConfiguration : 0x00 (No String Descriptor)
bmAttributes : 0xC0
D7: Reserved, set 1 : 0x01
D6: Self Powered : 0x01 (yes)
D5: Remote Wakeup : 0x00 (no)
D4..0: Reserved, set 0 : 0x00
MaxPower : 0x0F (30 mA)
Data (HexDump) : 09 02 20 00 01 01 00 C0 0F 09 04 00 00 02 08 06 .. .............
50 00 07 05 81 02 00 02 00 07 05 02 02 00 02 00 P...............
---------------- Interface Descriptor -----------------
bLength : 0x09 (9 bytes)
bDescriptorType : 0x04 (Interface Descriptor)
bInterfaceNumber : 0x00
bAlternateSetting : 0x00
bNumEndpoints : 0x02 (2 Endpoints)
bInterfaceClass : 0x08 (Mass Storage)
bInterfaceSubClass : 0x06 (SCSI transparent command set)
bInterfaceProtocol : 0x50 (Bulk-Only Transport)
iInterface : 0x00 (No String Descriptor)
Data (HexDump) : 09 04 00 00 02 08 06 50 00 .......P.
----------------- Endpoint Descriptor -----------------
bLength : 0x07 (7 bytes)
bDescriptorType : 0x05 (Endpoint Descriptor)
bEndpointAddress : 0x81 (Direction=IN EndpointID=1)
bmAttributes : 0x02 (TransferType=Bulk)
wMaxPacketSize : 0x0200 (max 512 bytes)
bInterval : 0x00 (never NAKs)
Data (HexDump) : 07 05 81 02 00 02 00 .......
----------------- Endpoint Descriptor -----------------
bLength : 0x07 (7 bytes)
bDescriptorType : 0x05 (Endpoint Descriptor)
bEndpointAddress : 0x02 (Direction=OUT EndpointID=2)
bmAttributes : 0x02 (TransferType=Bulk)
wMaxPacketSize : 0x0200 (max 512 bytes)
bInterval : 0x00 (never NAKs)
Data (HexDump) : 07 05 02 02 00 02 00 .......
----------------- Device Qualifier Descriptor -----------------
bLength : 0x0A (10 bytes)
bDescriptorType : 0x06 (Device_qualifier Descriptor)
bcdUSB : 0x210 (USB Version 2.10)
bDeviceClass : 0x00 (defined by the interface descriptors)
bDeviceSubClass : 0x00
bDeviceProtocol : 0x00
bMaxPacketSize0 : 0x40 (64 Bytes)
bNumConfigurations : 0x01 (1 other-speed configuration)
bReserved : 0x00
Data (HexDump) : 0A 06 10 02 00 00 00 40 01 00 .......@..
---------- Binary Object Store (BOS) Descriptor -----------
bLength : 0x05 (5 bytes)
bDescriptorType : 0x0F (Binary Object Store)
wTotalLength : 0x0016 (22 bytes)
bNumDeviceCaps : 0x02
Data (HexDump) : 05 0F 16 00 02 .....
------------- USB 2.0 Extension Descriptor ------------
bLength : 0x07 (7 bytes)
bDescriptorType : 0x10 (Device Capability Descriptor)
bDevCapabilityType : 0x02 (USB 2.0 Extension)
bmAttributes : 0xF0E
LPMCapable : 1 (Link Power Management protocol is supported)
BESLAndAlternateHIRD : 1 (BESL & Alternate HIRD definitions are supported)
BaselineBESLValid : 1 (valid)
DeepBESLValid : 0 (not valid)
BaselineBESL : 15 (10000 µs)
DeepBESL : 0
Data (HexDump) : 07 10 02 0E 0F 00 00 .......
----- SuperSpeed USB Device Capability Descriptor -----
bLength : 0x0A (10 bytes)
bDescriptorType : 0x10 (Device Capability Descriptor)
bDevCapabilityType : 0x03 (SuperSpeed USB Device Capability)
bmAttributes : 0x00
Bit 0 Reserved : 0x00
Bit 1 LTM Capable : 0x00 (no)
Bit 7:2 Reserved : 0x00
wSpeedsSupported : 0x0E (Full-Speed, High-Speed, SuperSpeed)
bFunctionalitySupport : 0x01 (lowest speed with all the functionality is 'Full-Speed')
bU1DevExitLat : 0x0A (less than 10 µs)
wU2DevExitLat : 0x0020 (less than 32 µs)
Data (HexDump) : 0A 10 03 00 0E 00 01 0A 20 00 ........ .
-------------------- String Descriptors -------------------
------ String Descriptor 0 ------
bLength : 0x04 (4 bytes)
bDescriptorType : 0x03 (String Descriptor)
Language ID[0] : 0x0409 (English - United States)
Data (HexDump) : 04 03 09 04 ....
------ String Descriptor 1 ------
bLength : 0x20 (32 bytes)
bDescriptorType : 0x03 (String Descriptor)
Language 0x0409 : "Western Digital"
Data (HexDump) : 20 03 57 00 65 00 73 00 74 00 65 00 72 00 6E 00 .W.e.s.t.e.r.n.
20 00 44 00 69 00 67 00 69 00 74 00 61 00 6C 00 .D.i.g.i.t.a.l.
------ String Descriptor 2 ------
bLength : 0x1C (28 bytes)
bDescriptorType : 0x03 (String Descriptor)
Language 0x0409 : "Elements 25A3"
Data (HexDump) : 1C 03 45 00 6C 00 65 00 6D 00 65 00 6E 00 74 00 ..E.l.e.m.e.n.t.
73 00 20 00 32 00 35 00 41 00 33 00 s. .2.5.A.3.
------ String Descriptor 3 ------
bLength : 0x22 (34 bytes)
bDescriptorType : 0x03 (String Descriptor)
Language 0x0409 : "5647303642305847"
Data (HexDump) : 22 03 35 00 36 00 34 00 37 00 33 00 30 00 33 00 ".5.6.4.7.3.0.3.
36 00 34 00 32 00 33 00 30 00 35 00 38 00 34 00 6.4.2.3.0.5.8.4.
37 00 7.
我尝试重新安装主板的芯片组驱动程序,并将驱动器移至 USB 3 集线器,一切都很顺利!但几天后,它又回到了 USB 2 端口(我不知道原因)。我再次重新安装了驱动程序,情况还是一样 - USB 3 短暂,然后回到 USB 2。
显然有某物这触发了返回 USB 2 的切换(也许需要重启?)但我无法进一步诊断,这非常令人沮丧。我有一个大容量驱动器,但由于无法以合理的速度将大量数据传输到驱动器上,因此它的使用受到严重限制。
有人知道我可以尝试如何解决这个问题,或者如何进一步诊断这个问题吗?
答案1
为了完整起见,我还有一个带有 USB 2 集线器的英特尔 1E2D 控制器,除了磁盘之外,它还连接了所有其他东西(大部分东西都插在实际的 USB 2 端口上,但奇怪的是,还有一个耳机插在另一个 USB3 插槽上)
听起来您的主板的 USB3 xHCI 控制器无法单独处理 USB2 设备,因此它与共享相同端口的“配套”USB2 EHCI 控制器配对。(这在较旧的主板上很常见 - 理论上 xHCI 不需要,但有些制造商出于某种原因仍这样做。)
这意味着连接到 USB3 端口的所有设备实际上首先通过多路复用器连接到 USB2 控制器,如果发现设备支持 USB3,则将其“升级”到配套的 USB3 控制器。这样,根据所连接的内容,相同的物理端口可以显示在两个控制器下。
我尝试重新安装主板的芯片组驱动程序,并将驱动器移至 USB 3 集线器,一切都很顺利!但几天后,它又回到了 USB 2 端口(我不知道原因)。我再次重新安装了驱动程序,情况还是一样 - USB 3 短暂,然后回到 USB 2。
我强烈怀疑驱动程序与此无关。您看到的是树中表示的实际物理附件。重新安装驱动程序的操作只会断开并重新初始化 USB 控制器(我认为与重新启动不同),它会与所有连接的设备重新协商 USB 协议,并将 HDD 重新路由到 USB3 控制器。
我不知道是什么原因造成的,但我实际上怀疑是 USB3 连接器本身(即电缆和可能的插座)。在我的旧笔记本电脑上,我遇到过这样的问题:端口背面的额外 USB3 针脚不再接触良好 - 或者某物无论如何,就像这样——随着时间的推移,端口基本上不再识别 USB3 设备。
你提到了重启。可能在重启期间,BIOS 不支持 USB3,因此它会暂时禁用自动重新路由到 xHCI,并且在开机期间检测到的任何设备都将保留在 EHCI 控制器上。同样,这只是猜测。
答案2
有两个可能的硬件因素可能导致此问题:
- 有缺陷的磁盘
- USB3 端口或集线器有缺陷
找出哪一个是正确的唯一方法是通过测试:
- 在计算机上的其他 USB3 端口上测试磁盘
- 在另一台已知 USB3 可以正常工作的计算机上测试磁盘
- 在您的计算机上尝试另一个型号的USB3磁盘。
这些测试的结果将有助于确定哪个硬件设备是导致问题的原因。