I have a USB3 WD Elements external drive. My PC has a set of USB2 ports at the front, and some USB3 ports at the back. I have the drive plugged into one of the USB3 ports. This is on a Windows 10 PC, with a Gigabyte B75-D3V motherboard.
When I first used the drive, it was extremely slow, so I did some investigating, and discovered (using USB Tree Viewer, from www.uwe-sieber.de) that the device is showing up on "Generic USB 2.0 Hub" under "Intel (R) 7 Series/C216 Chipset Family USB Enhanced Host Controller - 1E26". I do also have an "Intel (R) USB 3.0 eXtensible Host Controller 1.0 (Microsoft)" with a USB 3 hub under it, but nothing is attached there. For completeness, I also have an Intel 1E2D controller with a USB 2 hub which has everything other than the disk attached to it (mostly things plugged into the actual USB 2 ports, but also a headset that's plugged into the other USB3 socket, oddly enough).
The disk is showing in the viewer as follows (this is the first part, there's a lot more detail in there that I can post if it's useful):
=========================== 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.
I tried reinstalling the chipset drivers for my motherboard, and that moved the drive to the USB 3 hub, and everything was excellent! But a few days later, it was back on the USB 2 port (for no reason that I could spot). I reinstalled the drivers again, and same story - USB 3 briefly, then back to USB 2.
Clearly there's something that's triggering the move back to USB 2 (maybe a reboot?) but I haven't been able to diagnose any further than this, and it's extremely frustrating. I have a high capacity drive that is severely limited for the use I want to make of it because I can't shift bulk data onto it at a reasonable speed.
Does anyone have any ideas of what I could try to fix this, or how I could diagnose the problem further?