[SOLVED] USB mass storage (of any type) unreadable except in one port

MV10

Reputable
May 14, 2017
7
0
4,520
This one has me baffled...

I have built a new machine running Win10 Pro x64. With nothing else installed and all settings bone-stock (i.e. not overclocked), Windows can only read USB storage device filesystems from a single USB front-panel port.

I have tested with multiple known-good thumb drives, SD card readers, a DVD burner, and a traditional external HDD. All these devices work fine in a variety of other desktops and laptops. I emphasize "read" because Windows recognizes and mounts the devices from all of the other nine USB ports, and it can recognize basic details like total storage size, but it always reports that the media is unformatted (in the case of the DVD it doesn't recognize that a disc is in the drive). Any attempt to format the media will fail. Disk Manager shows the disk as raw. DISKPART can see the partition(s) but it can't read or write it. I also tried NTFS, exFAT, and FAT32, the filesystem doesn't matter. DISKPART can wipe the partitions but it fails to create a new one. I downloaded usbdeview and in all the detailed metadata I don't see any differences between a given device plugged into the working versus a non-working port. If I plug in multiple devices, Windows assigns them new drive letters but otherwise nothing . There's nothing in Event Viewer (which makes sense, considering it does recognize and mount the drives).

This seems to be a driver issue because UEFI BIOS flashing can read storage devices in the "non-working" ports, so media is clearly working normally at the hardware level. As everyone probably knows, the Microsoft USB drivers haven't changed since 2006, but I went through the usual routine of uninstalling various devices including the USB hub and letting Windows reinstall them. A keyboard and mouse plugged into the rear-panel ports are working normally, but I don't think I have any other USB devices to try. The BIOS has legacy USB support enabled (which I doubt matters either way).

Everything in the machine is brand new. The motherboard is an MSI MEG X570 ACE with a 3900XT CPU (with a 5900X on backorder), Sabrent Rocket 500GB M.2 NVMe, 32GB RAM (4x8GB Patriot Viper Steel DDR4-4133), and I doubt it matters but a Zotac RTX 2060 GPU. I've seen people ask about power in USB threads, the PSU is a Seasonic PRIME 600W Titanium which should be more than enough (calculated max power requirement is under 390W). The case is an NZXT H510 which means the two front-panel USB ports are USB 3.1. It is the Type A port that works, the Type C front-panel port has the same problem as the motherboard's rear-panel ports. All drivers are current from both MSI and AMD, and I even tried forcing the update to Windows version 20H2.
 
Solution
For the sake of closure, it turns out the motherboard was bad.

MSI support was worthless, but AMD stuck with me -- slowly, but always asking good questions and eventually responding.

They asked me to flash the latest (beta) BIOS from MSI and that bricked my motherboard (wouldn't POST, debug stuck on 00).

I RMA'd it for a new one and the new one works perfectly (all the same hardware otherwise, same drive / OS install, etc. -- needless to say I didn't risk the beta BIOS again).

MV10

Reputable
May 14, 2017
7
0
4,520
Thanks. Interesting, that PDF is much better than the physical manual that came with my board (and yes it's the right one).

Unfortunately changing to Auto had no effect on the problem.

I also realized I should have USB XHCI Handoff disabled (seems odd it's enabled by default), but that didn't fix it either.
 
Last edited:
Thanks. Interesting, that PDF is much better than the physical manual that came with my board (and yes it's the right one).

Unfortunately changing to Auto had no effect on the problem.

I also realized I should have USB XHCI Handoff disabled (seems odd it's enabled by default), but that didn't fix it either.
i have seen some motherboards that have a european regulation setting for the usb where they would be off by default.
something like EUR option that was not documented. Just in the off chance you updated or reset a bios and the ports get turned off to save power.
 

MV10

Reputable
May 14, 2017
7
0
4,520
i have seen some motherboards that have a european regulation setting for the usb where they would be off by default.
something like EUR option that was not documented. Just in the off chance you updated or reset a bios and the ports get turned off to save power.

Thanks. On this board it's called "ErP Ready" and it was disabled by default and is still disabled.
In this case it's documented (same page in the PDF mentioned earlier, actually).
 
this tool works well for finding problems in usb devices?
USB Device Tree Viewer (uwe-sieber.de)
-I have found cases where a usb header was plugged in to the motherboard but was plugged in via offset really strange symptoms.
-I have found cases where a usb hub was shorted to the case and the hub was turning on and off many times a second.
other problems required changing the memory dump type to kernel, then configuring the registry so you can force a memory dump via keyboard.
then looked at the memory dump and found that windows plug and play was trying to install a driver and it was not working and it just tried over and over. I think it was caused by some motherboard apple charger usb port driver since apple violated the spec by drawing 2 times the max current. Windows kept shutting down the port.

i have seen cases where a AIO CPU cooler connected to a USB port was making millions of error logs in the windows internal logs this made the ports not respond. this could only be detected by looking at the internal error logs from a kernel memory dump.
a kernel memory dump will also show if you have a issue with plug and play.

i would also look to see if microsoft made a change to the usb subsystem to add more security or if you have some software running that provides added usb security.

take a look at the tool and see if it reports any strange problems.
 
this tool works well for finding problems in usb devices?
USB Device Tree Viewer (uwe-sieber.de)
-I have found cases where a usb header was plugged in to the motherboard but was plugged in via offset really strange symptoms.
-I have found cases where a usb hub was shorted to the case and the hub was turning on and off many times a second.
other problems required changing the memory dump type to kernel, then configuring the registry so you can force a memory dump via keyboard.
then looked at the memory dump and found that windows plug and play was trying to install a driver and it was not working and it just tried over and over. I think it was caused by some motherboard apple charger usb port driver since apple violated the spec by drawing 2 times the max current. Windows kept shutting down the port.

i have seen cases where a AIO CPU cooler connected to a USB port was making millions of error logs in the windows internal logs this made the ports not respond. this could only be detected by looking at the internal error logs from a kernel memory dump.
a kernel memory dump will also show if you have a issue with plug and play.

i would also look to see if microsoft made a change to the usb subsystem to add more security or if you have some software running that provides added usb security.

take a look at the tool and see if it reports any strange problems.

generally, the USB ports that are directly supported by the CPU chipset are most likely to work. often for any add on USB chips you have to install the motherboard USB drivers from the motherboard vendor. These drivers must match the version of the bios that is install on the motherboard. IE it is best to update the bios and the custom usb drivers at the same time.
 
this tool works well for finding problems in usb devices?
USB Device Tree Viewer (uwe-sieber.de)
-I have found cases where a usb header was plugged in to the motherboard but was plugged in via offset really strange symptoms.
-I have found cases where a usb hub was shorted to the case and the hub was turning on and off many times a second.
other problems required changing the memory dump type to kernel, then configuring the registry so you can force a memory dump via keyboard.
then looked at the memory dump and found that windows plug and play was trying to install a driver and it was not working and it just tried over and over. I think it was caused by some motherboard apple charger usb port driver since apple violated the spec by drawing 2 times the max current. Windows kept shutting down the port. Really bad idea to install a apple or iphone charging usb port charger on a pc.

i have seen cases where a AIO CPU cooler connected to a USB port was making millions of error logs in the windows internal logs this made the ports not respond. this could only be detected by looking at the internal error logs from a kernel memory dump.
a kernel memory dump will also show if you have a issue with plug and play.

i would also look to see if microsoft made a change to the usb subsystem to add more security or if you have some software running that provides added usb security.

take a look at the tool and see if it reports any strange problems.
 

MV10

Reputable
May 14, 2017
7
0
4,520
That's a pretty cool tool, thanks.

I put the details of the working port into Excel side-by-side with the same device in a non-working port. The device ID in the non-working ports looks weird, it has an apostrophe, 03063190300004'5, versus the working port's device ID 0306319030000475. I pulled the thumb drive and tried it in other non-working ports and I see the same weird device ID. Apart from that (and obvious items like port number), all other details are identical between a working and non-working port.

Code:
    =========================== USB Port10 ===========================

Connection Status        : 0x01 (Device is connected)
Port Chain               : 2-10
Properties               : 0x03
IsUserConnectable       : yes
PortIsDebugCapable      : yes
PortHasMultiCompanions  : no
PortConnectorIsTypeC    : no
ConnectionIndex          : 0x0A (Port 10)
CompanionIndex           : 0
CompanionHubSymLnk      : USB#ROOT_HUB30#7&1f995c1&0&0#{f18a0e88-c30c-11d0-8815-00a0c906bed8}
CompanionPortNumber     : 0x04 (Port 4)
-> CompanionPortChain   : 2-4

      ========================== Summary =========================
Vendor ID                : 0x090C (Silicon Motion, Inc. - Taiwan)
Product ID               : 0x1000
USB version              : 3.1 Gen ?
Port maximum Speed       : SuperSpeed
Device maximum Speed     : SuperSpeed
Device Connection Speed  : SuperSpeed
Self Powered             : no
Demanded Current         : 304 mA
Used Endpoints           : 3

      ======================== USB Device ========================

        +++++++++++++++++ Device Information ++++++++++++++++++
Device Description       : USB Mass Storage Device
Device Path              : \\?\USB#VID_090C&PID_1000#0306319030000475#{a5dcbf10-6530-11d2-901f-00c04fb951ed} (GUID_DEVINTERFACE_USB_DEVICE)
Kernel Name              : \Device\USBPDO-10
Device ID                : USB\VID_090C&PID_1000\0306319030000475
Hardware IDs             : USB\VID_090C&PID_1000&REV_1100 USB\VID_090C&PID_1000
Driver KeyName           : {36fc9e60-c465-11cf-8056-444553540000}\0008 (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_#0010.Hub_#0002
Location IDs             : PCIROOT(0)#PCI(0102)#PCI(0000)#PCI(0800)#PCI(0003)#USBROOT(0)#USB(10), ACPI(_SB_)#ACPI(PCI0)#ACPI(BXBR)#ACPI(BYUP)#ACPI(BYD8)#ACPI(XHC0)#ACPI(RHUB)#ACPI(PT10)
Container ID             : {945dffe2-716d-541f-826f-39b8e7f020a5}
Manufacturer Info        : Compatible USB storage device
Capabilities             : 0x94 (Removable, UniqueID, SurpriseRemovalOK)
Status                   : 0x0180600A (DN_DRIVER_LOADED, DN_STARTED, DN_DISABLEABLE, DN_REMOVABLE, DN_NT_ENUMERATOR, DN_NT_DRIVER)
Problem Code             : 0
Address                  : 10
HcDisableSelectiveSuspend: 0
EnableSelectiveSuspend   : 0
SelectiveSuspendEnabled  : 0
EnhancedPowerMgmtEnabled : 0
IdleInWorkingState       : 0
WakeFromSleepState       : 0
Power State              : D0 (supported: D0, D3, wake from D0)
Child Device 1          : Samsung Flash Drive FIT USB Device (Disk drive) (Disk1)
  Device Path            : \\?\USBSTOR#Disk&Ven_Samsung&Prod_Flash_Drive_FIT&Rev_1100#0306319030000475&0#{53f56307-b6bf-11d0-94f2-00a0c91efb8b} (GUID_DEVINTERFACE_DISK)
  Kernel Name            : \Device\000000a7
  Device ID              : USBSTOR\DISK&VEN_SAMSUNG&PROD_FLASH_DRIVE_FIT&REV_1100\0306319030000475&0
  Class                  : DiskDrive
  Driver KeyName         : {4d36e967-e325-11ce-bfc1-08002be10318}\0002 (GUID_DEVCLASS_DISKDRIVE)
  Service                : disk
   Volume                : \\?\Volume{624d1cdf-2bea-11eb-ab83-e0d4e8743d61}\
   Kernel Name           : \Device\HarddiskVolume9
   Mountpoint            : D:\

        ---------------- Connection Information ---------------
Connection Index         : 0x0A (Port 10)
Connection Status        : 0x01 (DeviceConnected)
Current Config Value     : 0x01 (Configuration 1)
Device Address           : 0x03 (3)
Is Hub                   : 0x00 (no)
Device Bus Speed         : 0x02 (High-Speed) -> not true, see below in Connection Information V2
Number Of Open Pipes     : 0x02 (2 pipes to data endpoints)
Pipe[0]                  : EndpointID=1  Direction=OUT  ScheduleOffset=0  Type=Bulk
Pipe[1]                  : EndpointID=2  Direction=IN   ScheduleOffset=0  Type=Bulk
Data (HexDump)           : 0A 00 00 00 12 01 10 03 00 00 00 09 0C 09 00 10   ................
                           00 11 01 02 03 01 01 02 00 03 00 02 00 00 00 01   ................
                           00 00 00 07 05 01 02 00 04 00 00 00 00 00 07 05   ................
                           82 02 00 04 00 00 00 00 00                        .........

        --------------- Connection Information V2 -------------
Connection Index         : 0x0A (10)
Length                   : 0x10 (16 bytes)
SupportedUsbProtocols    : 0x04
Usb110                  : 0 (no, port not supports USB 1.1) -> but Companion Port 2-4 does
Usb200                  : 0 (no, port not supports USB 2.0) -> but Companion Port 2-4 does
Usb300                  : 1 (yes, port supports USB 3.0)
ReservedMBZ             : 0x00
Flags                    : 0x03
DevIsOpAtSsOrHigher     : 1 (Device is 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)           : 0A 00 00 00 10 00 00 00 04 00 00 00 03 00 00 00   ................

    ---------------------- Device Descriptor ----------------------
bLength                  : 0x12 (18 bytes)
bDescriptorType          : 0x01 (Device Descriptor)
bcdUSB                   : 0x310 (USB Version 3.10)
bDeviceClass             : 0x00 (defined by the interface descriptors)
bDeviceSubClass          : 0x00
bDeviceProtocol          : 0x00
bMaxPacketSize0          : 0x09 (9 bytes)
idVendor                 : 0x090C (Silicon Motion, Inc. - Taiwan)
idProduct                : 0x1000
bcdDevice                : 0x1100
iManufacturer            : 0x01 (String Descriptor 1)
Language 0x0409         : "Samsung"
iProduct                 : 0x02 (String Descriptor 2)
Language 0x0409         : "Flash Drive FIT"
iSerialNumber            : 0x03 (String Descriptor 3)
Language 0x0409         : "0306319030000475"
bNumConfigurations       : 0x01 (1 Configuration)
Data (HexDump)           : 12 01 10 03 00 00 00 09 0C 09 00 10 00 11 01 02   ................
                           03 01                                             ..

    ------------------ Configuration Descriptor -------------------
bLength                  : 0x09 (9 bytes)
bDescriptorType          : 0x02 (Configuration Descriptor)
wTotalLength             : 0x002C (44 bytes)
bNumInterfaces           : 0x01 (1 Interface)
bConfigurationValue      : 0x01 (Configuration 1)
iConfiguration           : 0x00 (No String Descriptor)
bmAttributes             : 0x80
D7: Reserved, set 1     : 0x01
D6: Self Powered        : 0x00 (no)
D5: Remote Wakeup       : 0x00 (no)
D4..0: Reserved, set 0  : 0x00
MaxPower                 : 0x26 (76 mA)
Data (HexDump)           : 09 02 2C 00 01 01 00 80 26 09 04 00 00 02 08 06   ..,.....&.......
                           50 00 07 05 01 02 00 04 00 06 30 08 00 00 00 07   P.........0.....
                           05 82 02 00 04 00 06 30 08 00 00 00               .......0....

        ---------------- 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         : 0x01 (Direction=OUT EndpointID=1)
bmAttributes             : 0x02 (TransferType=Bulk)
wMaxPacketSize           : 0x0400 (max 1024 bytes)
bInterval                : 0x00 (never NAKs)
Data (HexDump)           : 07 05 01 02 00 04 00                              .......

        ------ SuperSpeed Endpoint Companion Descriptor -------
bLength                  : 0x06 (6 bytes)
bDescriptorType          : 0x30 (SuperSpeed Endpoint Companion Descriptor)
bMaxBurst                : 0x08 (up to 9 packets per burst)
bmAttributes             : 0x00 (The bulk endpoint does not define streams)
wBytesPerInterval        : 0x0000
Data (HexDump)           : 06 30 08 00 00 00                                 .0....

        ----------------- Endpoint Descriptor -----------------
bLength                  : 0x07 (7 bytes)
bDescriptorType          : 0x05 (Endpoint Descriptor)
bEndpointAddress         : 0x82 (Direction=IN EndpointID=2)
bmAttributes             : 0x02 (TransferType=Bulk)
wMaxPacketSize           : 0x0400 (max 1024 bytes)
bInterval                : 0x00 (never NAKs)
Data (HexDump)           : 07 05 82 02 00 04 00                              .......

        ------ SuperSpeed Endpoint Companion Descriptor -------
bLength                  : 0x06 (6 bytes)
bDescriptorType          : 0x30 (SuperSpeed Endpoint Companion Descriptor)
bMaxBurst                : 0x08 (up to 9 packets per burst)
bmAttributes             : 0x00 (The bulk endpoint does not define streams)
wBytesPerInterval        : 0x0000
Data (HexDump)           : 06 30 08 00 00 00                                 .0....

      ---------- 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             : 0x06
LPMCapable              : 1 (Link Power Management protocol is supported)
BESLAndAlternateHIRD    : 1 (BESL & Alternate HIRD definitions are supported)
BaselineBESLValid       : 0 (not valid)
DeepBESLValid           : 0 (not valid)
BaselineBESL            : 0
DeepBESL                : 0
Data (HexDump)           : 07 10 02 06 00 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         : 0x0C (High-Speed, SuperSpeed)
bFunctionalitySupport    : 0x02 (lowest speed with all the functionality is 'High-Speed')
bU1DevExitLat            : 0x04   (less than 4 µs)
wU2DevExitLat            : 0x0004 (less than 4 µs)
Data (HexDump)           : 0A 10 03 00 0C 00 02 04 04 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                  : 0x10 (16 bytes)
bDescriptorType          : 0x03 (String Descriptor)
Language 0x0409          : "Samsung"
Data (HexDump)           : 10 03 53 00 61 00 6D 00 73 00 75 00 6E 00 67 00   ..S.a.m.s.u.n.g.
             ------ String Descriptor 2 ------
bLength                  : 0x20 (32 bytes)
bDescriptorType          : 0x03 (String Descriptor)
Language 0x0409          : "Flash Drive FIT"
Data (HexDump)           : 20 03 46 00 6C 00 61 00 73 00 68 00 20 00 44 00    .F.l.a.s.h. .D.
                           72 00 69 00 76 00 65 00 20 00 46 00 49 00 54 00   r.i.v.e. .F.I.T.
             ------ String Descriptor 3 ------
bLength                  : 0x22 (34 bytes)
bDescriptorType          : 0x03 (String Descriptor)
Language 0x0409          : "0306319030000475"
Data (HexDump)           : 22 03 30 00 33 00 30 00 36 00 33 00 31 00 39 00   ".0.3.0.6.3.1.9.
                           30 00 33 00 30 00 30 00 30 00 30 00 34 00 37 00   0.3.0.0.0.0.4.7.
                           35 00                                             5.

Code:
    =========================== USB Port7 ===========================

Connection Status        : 0x01 (Device is connected)
Port Chain               : 4-7
Properties               : 0x03
IsUserConnectable       : yes
PortIsDebugCapable      : yes
PortHasMultiCompanions  : no
PortConnectorIsTypeC    : no
ConnectionIndex          : 0x07 (Port 7)
CompanionIndex           : 0
CompanionHubSymLnk      : USB#ROOT_HUB30#7&13c49e53&0&0#{f18a0e88-c30c-11d0-8815-00a0c906bed8}
CompanionPortNumber     : 0x01 (Port 1)
-> CompanionPortChain   : 4-1

      ========================== Summary =========================
Vendor ID                : 0x090C (Silicon Motion, Inc. - Taiwan)
Product ID               : 0x1000
USB version              : 3.1 Gen ?
Port maximum Speed       : SuperSpeed
Device maximum Speed     : SuperSpeed
Device Connection Speed  : SuperSpeed
Self Powered             : no
Demanded Current         : 304 mA
Used Endpoints           : 3

      ======================== USB Device ========================

        +++++++++++++++++ Device Information ++++++++++++++++++
Device Description       : USB Mass Storage Device
Device Path              : \\?\USB#VID_090C&PID_1000#03063190300004'5#{a5dcbf10-6530-11d2-901f-00c04fb951ed} (GUID_DEVINTERFACE_USB_DEVICE)
Kernel Name              : \Device\USBPDO-10
Device ID                : USB\VID_090C&PID_1000\03063190300004'5
Hardware IDs             : USB\VID_090C&PID_1000&REV_1100 USB\VID_090C&PID_1000
Driver KeyName           : {36fc9e60-c465-11cf-8056-444553540000}\0014 (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_#0007.Hub_#0001
Location IDs             : PCIROOT(0)#PCI(0102)#PCI(0000)#PCI(0800)#PCI(0001)#USBROOT(0)#USB(7), ACPI(_SB_)#ACPI(PCI0)#ACPI(BXBR)#ACPI(BYUP)#ACPI(BYD8)#ACPI(XHC1)#ACPI(RHUB)#ACPI(PRT7)
Container ID             : {bc63d8a9-d8b3-5bac-9308-b7a152d532ec}
Manufacturer Info        : Compatible USB storage device
Capabilities             : 0x94 (Removable, UniqueID, SurpriseRemovalOK)
Status                   : 0x0180600A (DN_DRIVER_LOADED, DN_STARTED, DN_DISABLEABLE, DN_REMOVABLE, DN_NT_ENUMERATOR, DN_NT_DRIVER)
Problem Code             : 0
Address                  : 7
HcDisableSelectiveSuspend: 0
EnableSelectiveSuspend   : 0
SelectiveSuspendEnabled  : 0
EnhancedPowerMgmtEnabled : 0
IdleInWorkingState       : 0
WakeFromSleepState       : 0
Power State              : D0 (supported: D0, D3, wake from D0)
Child Device 1          : Samsung Flash Drive FID USB Device (Disk drive) (Disk1)
  Device Path            : \\?\USBSTOR#Disk&Ven_Samsung&Prod_Flash_Drive_FID&Rev_1100#03063190300004'5&0#{53f56307-b6bf-11d0-94f2-00a0c91efb8b} (GUID_DEVINTERFACE_DISK)
  Kernel Name            : \Device\000000a4
  Device ID              : USBSTOR\DISK&VEN_SAMSUNG&PROD_FLASH_DRIVE_FID&REV_1100\03063190300004'5&0
  Class                  : DiskDrive
  Driver KeyName         : {4d36e967-e325-11ce-bfc1-08002be10318}\0004 (GUID_DEVCLASS_DISKDRIVE)
  Service                : disk
   Volume                : \\?\Volume{624d1c44-2bea-11eb-ab83-e0d4e8743d61}\
   Kernel Name           : \Device\HarddiskVolume8
   Mountpoint            : D:\

        ---------------- Connection Information ---------------
Connection Index         : 0x07 (Port 7)
Connection Status        : 0x01 (DeviceConnected)
Current Config Value     : 0x01 (Configuration 1)
Device Address           : 0x02 (2)
Is Hub                   : 0x00 (no)
Device Bus Speed         : 0x02 (High-Speed) -> not true, see below in Connection Information V2
Number Of Open Pipes     : 0x02 (2 pipes to data endpoints)
Pipe[0]                  : EndpointID=1  Direction=OUT  ScheduleOffset=0  Type=Bulk
Pipe[1]                  : EndpointID=2  Direction=IN   ScheduleOffset=0  Type=Bulk
Data (HexDump)           : 07 00 00 00 12 01 10 03 00 00 00 09 0C 09 00 10   ................
                           00 11 01 02 03 01 01 02 00 02 00 02 00 00 00 01   ................
                           00 00 00 07 05 01 02 00 04 00 00 00 00 00 07 05   ................
                           82 02 00 04 00 00 00 00 00                        .........

        --------------- Connection Information V2 -------------
Connection Index         : 0x07 (7)
Length                   : 0x10 (16 bytes)
SupportedUsbProtocols    : 0x04
Usb110                  : 0 (no, port not supports USB 1.1) -> but Companion Port 4-1 does
Usb200                  : 0 (no, port not supports USB 2.0) -> but Companion Port 4-1 does
Usb300                  : 1 (yes, port supports USB 3.0)
ReservedMBZ             : 0x00
Flags                    : 0x03
DevIsOpAtSsOrHigher     : 1 (Device is 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)           : 07 00 00 00 10 00 00 00 04 00 00 00 03 00 00 00   ................

    ---------------------- Device Descriptor ----------------------
bLength                  : 0x12 (18 bytes)
bDescriptorType          : 0x01 (Device Descriptor)
bcdUSB                   : 0x310 (USB Version 3.10)
bDeviceClass             : 0x00 (defined by the interface descriptors)
bDeviceSubClass          : 0x00
bDeviceProtocol          : 0x00
bMaxPacketSize0          : 0x09 (9 bytes)
idVendor                 : 0x090C (Silicon Motion, Inc. - Taiwan)
idProduct                : 0x1000
bcdDevice                : 0x1100
iManufacturer            : 0x01 (String Descriptor 1)
Language 0x0409         : "Samsung"
iProduct                 : 0x02 (String Descriptor 2)
Language 0x0409         : "Flash Drive FID"
iSerialNumber            : 0x03 (String Descriptor 3)
Language 0x0409         : "03063190300004'5"
bNumConfigurations       : 0x01 (1 Configuration)
Data (HexDump)           : 12 01 10 03 00 00 00 09 0C 09 00 10 00 11 01 02   ................
                           03 01                                             ..

    ------------------ Configuration Descriptor -------------------
bLength                  : 0x09 (9 bytes)
bDescriptorType          : 0x02 (Configuration Descriptor)
wTotalLength             : 0x002C (44 bytes)
bNumInterfaces           : 0x01 (1 Interface)
bConfigurationValue      : 0x01 (Configuration 1)
iConfiguration           : 0x00 (No String Descriptor)
bmAttributes             : 0x80
D7: Reserved, set 1     : 0x01
D6: Self Powered        : 0x00 (no)
D5: Remote Wakeup       : 0x00 (no)
D4..0: Reserved, set 0  : 0x00
MaxPower                 : 0x26 (76 mA)
Data (HexDump)           : 09 02 2C 00 01 01 00 80 26 09 04 00 00 02 08 06   ..,.....&.......
                           50 00 07 05 01 02 00 04 00 06 30 08 00 00 00 07   P.........0.....
                           05 82 02 00 04 00 06 30 08 00 00 00               .......0....

        ---------------- 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         : 0x01 (Direction=OUT EndpointID=1)
bmAttributes             : 0x02 (TransferType=Bulk)
wMaxPacketSize           : 0x0400 (max 1024 bytes)
bInterval                : 0x00 (never NAKs)
Data (HexDump)           : 07 05 01 02 00 04 00                              .......

        ------ SuperSpeed Endpoint Companion Descriptor -------
bLength                  : 0x06 (6 bytes)
bDescriptorType          : 0x30 (SuperSpeed Endpoint Companion Descriptor)
bMaxBurst                : 0x08 (up to 9 packets per burst)
bmAttributes             : 0x00 (The bulk endpoint does not define streams)
wBytesPerInterval        : 0x0000
Data (HexDump)           : 06 30 08 00 00 00                                 .0....

        ----------------- Endpoint Descriptor -----------------
bLength                  : 0x07 (7 bytes)
bDescriptorType          : 0x05 (Endpoint Descriptor)
bEndpointAddress         : 0x82 (Direction=IN EndpointID=2)
bmAttributes             : 0x02 (TransferType=Bulk)
wMaxPacketSize           : 0x0400 (max 1024 bytes)
bInterval                : 0x00 (never NAKs)
Data (HexDump)           : 07 05 82 02 00 04 00                              .......

        ------ SuperSpeed Endpoint Companion Descriptor -------
bLength                  : 0x06 (6 bytes)
bDescriptorType          : 0x30 (SuperSpeed Endpoint Companion Descriptor)
bMaxBurst                : 0x08 (up to 9 packets per burst)
bmAttributes             : 0x00 (The bulk endpoint does not define streams)
wBytesPerInterval        : 0x0000
Data (HexDump)           : 06 30 08 00 00 00                                 .0....

      ---------- 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             : 0x06
LPMCapable              : 1 (Link Power Management protocol is supported)
BESLAndAlternateHIRD    : 1 (BESL & Alternate HIRD definitions are supported)
BaselineBESLValid       : 0 (not valid)
DeepBESLValid           : 0 (not valid)
BaselineBESL            : 0
DeepBESL                : 0
Data (HexDump)           : 07 10 02 06 00 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         : 0x0C (High-Speed, SuperSpeed)
bFunctionalitySupport    : 0x02 (lowest speed with all the functionality is 'High-Speed')
bU1DevExitLat            : 0x04   (less than 4 µs)
wU2DevExitLat            : 0x0004 (less than 4 µs)
Data (HexDump)           : 0A 10 03 00 0C 00 02 04 04 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                  : 0x10 (16 bytes)
bDescriptorType          : 0x03 (String Descriptor)
Language 0x0409          : "Samsung"
Data (HexDump)           : 10 03 53 00 61 00 6D 00 73 00 75 00 6E 00 67 00   ..S.a.m.s.u.n.g.
             ------ String Descriptor 2 ------
bLength                  : 0x20 (32 bytes)
bDescriptorType          : 0x03 (String Descriptor)
Language 0x0409          : "Flash Drive FID"
Data (HexDump)           : 20 03 46 00 6C 00 61 00 73 00 68 00 20 00 44 00    .F.l.a.s.h. .D.
                           72 00 69 00 76 00 65 00 20 00 46 00 49 00 44 00   r.i.v.e. .F.I.D.
             ------ String Descriptor 3 ------
bLength                  : 0x22 (34 bytes)
bDescriptorType          : 0x03 (String Descriptor)
Language 0x0409          : "03063190300004'5"
Data (HexDump)           : 22 03 30 00 33 00 30 00 36 00 33 00 31 00 39 00   ".0.3.0.6.3.1.9.
                           30 00 33 00 30 00 30 00 30 00 30 00 34 00 27 00   0.3.0.0.0.0.4.'.
                           35 00                                             5.

To be clear, I saw this problem on brand new hardware running absolutely nothing but Windows itself and the latest motherboard and chipset drivers. Nothing else installed, nothing ever connected to the machine but a keyboard, mouse, thumb drive, and the included wifi antenna. The one fully-working front-panel port is driven by the X570 chipset, as is the non-working front-panel port (although they're on different headers, one is USB 3.2 Gen 1 and the other is Gen 2). The flaky 3.x rear-panel connectors are all controlled by the CPU. The two non-working 2.0 rear-panel connectors are also chipset-controlled. The rear-panel connectors are all in a sealed enclosure on the motherboard -- it even includes the rear-panel itself (not like the old days with a thin foil covering you install yourself). All drivers are current (well, they were last week when I started the thread, I haven't checked again yet). More is installed now than a week ago (I have to work) and USB seems to be the only thing that doesn't work correctly. I'm sure the machine is physically ok in terms of the build, I'm very experienced (programmer for 40+ years, been building my own machines on and off since the mid 90s).

Earlier the behavior was consistent -- no device worked anywhere but the single front-panel port. But while testing again this morning, I've started seeing different behavior -- that or my earlier testing wasn't as thorough as I thought (I was getting pretty frustrated).

The one front-panel port is still working normally. But now, in one specific rear-panel port, Windows is now able to read short bursts of data from the main thumb drive of interest. I can browse the root, and I can read short text files in the root, but when I try to browse to a large directory, Windows works for a moment, then reports a "Set Address Failed" error, and pops up a message "Error ERROR_ACCESS_DENIED writing to registry". Other error messages shown in the tool are DeviceFailedEnumeration and problem code 43 CM_PROB_FAILED_POST_START. In that same port, I tried a different device again (an SD card reader, which is really a hub since it mounts two drive letters, it can read micro and mini SD at the same time) and the results are even stranger -- Windows can read files and directories but only shows short filenames. For example, I copied UsbTreeView_x64 using the good port, swapped to a non-working port and Windows shows USBTRE~1 as the folder name. The files inside that folder also show the old 8.3 short filenames. That same SD card reader has both a Type A and Type C connector, so switching to the rear-panel Type C, I get normal full-length filenames, but it can't read anything but very short files. The symptoms seem to be all over the place.

When I get the error messages off that first thumb drive, I also see Event Log warnings -- "The IO operation at logical block address xxxxx for Disk1 was retried," followed by "An error was detected on device xxxxx during a paging operation." So that seems to match up with the fact that I can read small amounts of data which may also explain the 8.3 filename thing (which I vaguely recall is stored first on FAT filesystems, followed by the long names in a separate table).
 
Last edited:
That's a pretty cool tool, thanks.

I put the details of the working port into Excel side-by-side with the same device in a non-working port. The device ID in the non-working ports looks weird, it has an apostrophe, 03063190300004'5, versus the working port's device ID 0306319030000475. I pulled the thumb drive and tried it in other non-working ports and I see the same weird device ID. Apart from that (and obvious items like port number), all other details are identical between a working and non-working port.

Code:
    =========================== USB Port10 ===========================

Connection Status        : 0x01 (Device is connected)
Port Chain               : 2-10
Properties               : 0x03
IsUserConnectable       : yes
PortIsDebugCapable      : yes
PortHasMultiCompanions  : no
PortConnectorIsTypeC    : no
ConnectionIndex          : 0x0A (Port 10)
CompanionIndex           : 0
CompanionHubSymLnk      : USB#ROOT_HUB30#7&1f995c1&0&0#{f18a0e88-c30c-11d0-8815-00a0c906bed8}
CompanionPortNumber     : 0x04 (Port 4)
-> CompanionPortChain   : 2-4

      ========================== Summary =========================
Vendor ID                : 0x090C (Silicon Motion, Inc. - Taiwan)
Product ID               : 0x1000
USB version              : 3.1 Gen ?
Port maximum Speed       : SuperSpeed
Device maximum Speed     : SuperSpeed
Device Connection Speed  : SuperSpeed
Self Powered             : no
Demanded Current         : 304 mA
Used Endpoints           : 3

      ======================== USB Device ========================

        +++++++++++++++++ Device Information ++++++++++++++++++
Device Description       : USB Mass Storage Device
Device Path              : \\?\USB#VID_090C&PID_1000#0306319030000475#{a5dcbf10-6530-11d2-901f-00c04fb951ed} (GUID_DEVINTERFACE_USB_DEVICE)
Kernel Name              : \Device\USBPDO-10
Device ID                : USB\VID_090C&PID_1000\0306319030000475
Hardware IDs             : USB\VID_090C&PID_1000&REV_1100 USB\VID_090C&PID_1000
Driver KeyName           : {36fc9e60-c465-11cf-8056-444553540000}\0008 (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_#0010.Hub_#0002
Location IDs             : PCIROOT(0)#PCI(0102)#PCI(0000)#PCI(0800)#PCI(0003)#USBROOT(0)#USB(10), ACPI(_SB_)#ACPI(PCI0)#ACPI(BXBR)#ACPI(BYUP)#ACPI(BYD8)#ACPI(XHC0)#ACPI(RHUB)#ACPI(PT10)
Container ID             : {945dffe2-716d-541f-826f-39b8e7f020a5}
Manufacturer Info        : Compatible USB storage device
Capabilities             : 0x94 (Removable, UniqueID, SurpriseRemovalOK)
Status                   : 0x0180600A (DN_DRIVER_LOADED, DN_STARTED, DN_DISABLEABLE, DN_REMOVABLE, DN_NT_ENUMERATOR, DN_NT_DRIVER)
Problem Code             : 0
Address                  : 10
HcDisableSelectiveSuspend: 0
EnableSelectiveSuspend   : 0
SelectiveSuspendEnabled  : 0
EnhancedPowerMgmtEnabled : 0
IdleInWorkingState       : 0
WakeFromSleepState       : 0
Power State              : D0 (supported: D0, D3, wake from D0)
Child Device 1          : Samsung Flash Drive FIT USB Device (Disk drive) (Disk1)
  Device Path            : \\?\USBSTOR#Disk&Ven_Samsung&Prod_Flash_Drive_FIT&Rev_1100#0306319030000475&0#{53f56307-b6bf-11d0-94f2-00a0c91efb8b} (GUID_DEVINTERFACE_DISK)
  Kernel Name            : \Device\000000a7
  Device ID              : USBSTOR\DISK&VEN_SAMSUNG&PROD_FLASH_DRIVE_FIT&REV_1100\0306319030000475&0
  Class                  : DiskDrive
  Driver KeyName         : {4d36e967-e325-11ce-bfc1-08002be10318}\0002 (GUID_DEVCLASS_DISKDRIVE)
  Service                : disk
   Volume                : \\?\Volume{624d1cdf-2bea-11eb-ab83-e0d4e8743d61}\
   Kernel Name           : \Device\HarddiskVolume9
   Mountpoint            : D:\

        ---------------- Connection Information ---------------
Connection Index         : 0x0A (Port 10)
Connection Status        : 0x01 (DeviceConnected)
Current Config Value     : 0x01 (Configuration 1)
Device Address           : 0x03 (3)
Is Hub                   : 0x00 (no)
Device Bus Speed         : 0x02 (High-Speed) -> not true, see below in Connection Information V2
Number Of Open Pipes     : 0x02 (2 pipes to data endpoints)
Pipe[0]                  : EndpointID=1  Direction=OUT  ScheduleOffset=0  Type=Bulk
Pipe[1]                  : EndpointID=2  Direction=IN   ScheduleOffset=0  Type=Bulk
Data (HexDump)           : 0A 00 00 00 12 01 10 03 00 00 00 09 0C 09 00 10   ................
                           00 11 01 02 03 01 01 02 00 03 00 02 00 00 00 01   ................
                           00 00 00 07 05 01 02 00 04 00 00 00 00 00 07 05   ................
                           82 02 00 04 00 00 00 00 00                        .........

        --------------- Connection Information V2 -------------
Connection Index         : 0x0A (10)
Length                   : 0x10 (16 bytes)
SupportedUsbProtocols    : 0x04
Usb110                  : 0 (no, port not supports USB 1.1) -> but Companion Port 2-4 does
Usb200                  : 0 (no, port not supports USB 2.0) -> but Companion Port 2-4 does
Usb300                  : 1 (yes, port supports USB 3.0)
ReservedMBZ             : 0x00
Flags                    : 0x03
DevIsOpAtSsOrHigher     : 1 (Device is 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)           : 0A 00 00 00 10 00 00 00 04 00 00 00 03 00 00 00   ................

    ---------------------- Device Descriptor ----------------------
bLength                  : 0x12 (18 bytes)
bDescriptorType          : 0x01 (Device Descriptor)
bcdUSB                   : 0x310 (USB Version 3.10)
bDeviceClass             : 0x00 (defined by the interface descriptors)
bDeviceSubClass          : 0x00
bDeviceProtocol          : 0x00
bMaxPacketSize0          : 0x09 (9 bytes)
idVendor                 : 0x090C (Silicon Motion, Inc. - Taiwan)
idProduct                : 0x1000
bcdDevice                : 0x1100
iManufacturer            : 0x01 (String Descriptor 1)
Language 0x0409         : "Samsung"
iProduct                 : 0x02 (String Descriptor 2)
Language 0x0409         : "Flash Drive FIT"
iSerialNumber            : 0x03 (String Descriptor 3)
Language 0x0409         : "0306319030000475"
bNumConfigurations       : 0x01 (1 Configuration)
Data (HexDump)           : 12 01 10 03 00 00 00 09 0C 09 00 10 00 11 01 02   ................
                           03 01                                             ..

    ------------------ Configuration Descriptor -------------------
bLength                  : 0x09 (9 bytes)
bDescriptorType          : 0x02 (Configuration Descriptor)
wTotalLength             : 0x002C (44 bytes)
bNumInterfaces           : 0x01 (1 Interface)
bConfigurationValue      : 0x01 (Configuration 1)
iConfiguration           : 0x00 (No String Descriptor)
bmAttributes             : 0x80
D7: Reserved, set 1     : 0x01
D6: Self Powered        : 0x00 (no)
D5: Remote Wakeup       : 0x00 (no)
D4..0: Reserved, set 0  : 0x00
MaxPower                 : 0x26 (76 mA)
Data (HexDump)           : 09 02 2C 00 01 01 00 80 26 09 04 00 00 02 08 06   ..,.....&.......
                           50 00 07 05 01 02 00 04 00 06 30 08 00 00 00 07   P.........0.....
                           05 82 02 00 04 00 06 30 08 00 00 00               .......0....

        ---------------- 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         : 0x01 (Direction=OUT EndpointID=1)
bmAttributes             : 0x02 (TransferType=Bulk)
wMaxPacketSize           : 0x0400 (max 1024 bytes)
bInterval                : 0x00 (never NAKs)
Data (HexDump)           : 07 05 01 02 00 04 00                              .......

        ------ SuperSpeed Endpoint Companion Descriptor -------
bLength                  : 0x06 (6 bytes)
bDescriptorType          : 0x30 (SuperSpeed Endpoint Companion Descriptor)
bMaxBurst                : 0x08 (up to 9 packets per burst)
bmAttributes             : 0x00 (The bulk endpoint does not define streams)
wBytesPerInterval        : 0x0000
Data (HexDump)           : 06 30 08 00 00 00                                 .0....

        ----------------- Endpoint Descriptor -----------------
bLength                  : 0x07 (7 bytes)
bDescriptorType          : 0x05 (Endpoint Descriptor)
bEndpointAddress         : 0x82 (Direction=IN EndpointID=2)
bmAttributes             : 0x02 (TransferType=Bulk)
wMaxPacketSize           : 0x0400 (max 1024 bytes)
bInterval                : 0x00 (never NAKs)
Data (HexDump)           : 07 05 82 02 00 04 00                              .......

        ------ SuperSpeed Endpoint Companion Descriptor -------
bLength                  : 0x06 (6 bytes)
bDescriptorType          : 0x30 (SuperSpeed Endpoint Companion Descriptor)
bMaxBurst                : 0x08 (up to 9 packets per burst)
bmAttributes             : 0x00 (The bulk endpoint does not define streams)
wBytesPerInterval        : 0x0000
Data (HexDump)           : 06 30 08 00 00 00                                 .0....

      ---------- 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             : 0x06
LPMCapable              : 1 (Link Power Management protocol is supported)
BESLAndAlternateHIRD    : 1 (BESL & Alternate HIRD definitions are supported)
BaselineBESLValid       : 0 (not valid)
DeepBESLValid           : 0 (not valid)
BaselineBESL            : 0
DeepBESL                : 0
Data (HexDump)           : 07 10 02 06 00 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         : 0x0C (High-Speed, SuperSpeed)
bFunctionalitySupport    : 0x02 (lowest speed with all the functionality is 'High-Speed')
bU1DevExitLat            : 0x04   (less than 4 µs)
wU2DevExitLat            : 0x0004 (less than 4 µs)
Data (HexDump)           : 0A 10 03 00 0C 00 02 04 04 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                  : 0x10 (16 bytes)
bDescriptorType          : 0x03 (String Descriptor)
Language 0x0409          : "Samsung"
Data (HexDump)           : 10 03 53 00 61 00 6D 00 73 00 75 00 6E 00 67 00   ..S.a.m.s.u.n.g.
             ------ String Descriptor 2 ------
bLength                  : 0x20 (32 bytes)
bDescriptorType          : 0x03 (String Descriptor)
Language 0x0409          : "Flash Drive FIT"
Data (HexDump)           : 20 03 46 00 6C 00 61 00 73 00 68 00 20 00 44 00    .F.l.a.s.h. .D.
                           72 00 69 00 76 00 65 00 20 00 46 00 49 00 54 00   r.i.v.e. .F.I.T.
             ------ String Descriptor 3 ------
bLength                  : 0x22 (34 bytes)
bDescriptorType          : 0x03 (String Descriptor)
Language 0x0409          : "0306319030000475"
Data (HexDump)           : 22 03 30 00 33 00 30 00 36 00 33 00 31 00 39 00   ".0.3.0.6.3.1.9.
                           30 00 33 00 30 00 30 00 30 00 30 00 34 00 37 00   0.3.0.0.0.0.4.7.
                           35 00                                             5.

Code:
    =========================== USB Port7 ===========================

Connection Status        : 0x01 (Device is connected)
Port Chain               : 4-7
Properties               : 0x03
IsUserConnectable       : yes
PortIsDebugCapable      : yes
PortHasMultiCompanions  : no
PortConnectorIsTypeC    : no
ConnectionIndex          : 0x07 (Port 7)
CompanionIndex           : 0
CompanionHubSymLnk      : USB#ROOT_HUB30#7&13c49e53&0&0#{f18a0e88-c30c-11d0-8815-00a0c906bed8}
CompanionPortNumber     : 0x01 (Port 1)
-> CompanionPortChain   : 4-1

      ========================== Summary =========================
Vendor ID                : 0x090C (Silicon Motion, Inc. - Taiwan)
Product ID               : 0x1000
USB version              : 3.1 Gen ?
Port maximum Speed       : SuperSpeed
Device maximum Speed     : SuperSpeed
Device Connection Speed  : SuperSpeed
Self Powered             : no
Demanded Current         : 304 mA
Used Endpoints           : 3

      ======================== USB Device ========================

        +++++++++++++++++ Device Information ++++++++++++++++++
Device Description       : USB Mass Storage Device
Device Path              : \\?\USB#VID_090C&PID_1000#03063190300004'5#{a5dcbf10-6530-11d2-901f-00c04fb951ed} (GUID_DEVINTERFACE_USB_DEVICE)
Kernel Name              : \Device\USBPDO-10
Device ID                : USB\VID_090C&PID_1000\03063190300004'5
Hardware IDs             : USB\VID_090C&PID_1000&REV_1100 USB\VID_090C&PID_1000
Driver KeyName           : {36fc9e60-c465-11cf-8056-444553540000}\0014 (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_#0007.Hub_#0001
Location IDs             : PCIROOT(0)#PCI(0102)#PCI(0000)#PCI(0800)#PCI(0001)#USBROOT(0)#USB(7), ACPI(_SB_)#ACPI(PCI0)#ACPI(BXBR)#ACPI(BYUP)#ACPI(BYD8)#ACPI(XHC1)#ACPI(RHUB)#ACPI(PRT7)
Container ID             : {bc63d8a9-d8b3-5bac-9308-b7a152d532ec}
Manufacturer Info        : Compatible USB storage device
Capabilities             : 0x94 (Removable, UniqueID, SurpriseRemovalOK)
Status                   : 0x0180600A (DN_DRIVER_LOADED, DN_STARTED, DN_DISABLEABLE, DN_REMOVABLE, DN_NT_ENUMERATOR, DN_NT_DRIVER)
Problem Code             : 0
Address                  : 7
HcDisableSelectiveSuspend: 0
EnableSelectiveSuspend   : 0
SelectiveSuspendEnabled  : 0
EnhancedPowerMgmtEnabled : 0
IdleInWorkingState       : 0
WakeFromSleepState       : 0
Power State              : D0 (supported: D0, D3, wake from D0)
Child Device 1          : Samsung Flash Drive FID USB Device (Disk drive) (Disk1)
  Device Path            : \\?\USBSTOR#Disk&Ven_Samsung&Prod_Flash_Drive_FID&Rev_1100#03063190300004'5&0#{53f56307-b6bf-11d0-94f2-00a0c91efb8b} (GUID_DEVINTERFACE_DISK)
  Kernel Name            : \Device\000000a4
  Device ID              : USBSTOR\DISK&VEN_SAMSUNG&PROD_FLASH_DRIVE_FID&REV_1100\03063190300004'5&0
  Class                  : DiskDrive
  Driver KeyName         : {4d36e967-e325-11ce-bfc1-08002be10318}\0004 (GUID_DEVCLASS_DISKDRIVE)
  Service                : disk
   Volume                : \\?\Volume{624d1c44-2bea-11eb-ab83-e0d4e8743d61}\
   Kernel Name           : \Device\HarddiskVolume8
   Mountpoint            : D:\

        ---------------- Connection Information ---------------
Connection Index         : 0x07 (Port 7)
Connection Status        : 0x01 (DeviceConnected)
Current Config Value     : 0x01 (Configuration 1)
Device Address           : 0x02 (2)
Is Hub                   : 0x00 (no)
Device Bus Speed         : 0x02 (High-Speed) -> not true, see below in Connection Information V2
Number Of Open Pipes     : 0x02 (2 pipes to data endpoints)
Pipe[0]                  : EndpointID=1  Direction=OUT  ScheduleOffset=0  Type=Bulk
Pipe[1]                  : EndpointID=2  Direction=IN   ScheduleOffset=0  Type=Bulk
Data (HexDump)           : 07 00 00 00 12 01 10 03 00 00 00 09 0C 09 00 10   ................
                           00 11 01 02 03 01 01 02 00 02 00 02 00 00 00 01   ................
                           00 00 00 07 05 01 02 00 04 00 00 00 00 00 07 05   ................
                           82 02 00 04 00 00 00 00 00                        .........

        --------------- Connection Information V2 -------------
Connection Index         : 0x07 (7)
Length                   : 0x10 (16 bytes)
SupportedUsbProtocols    : 0x04
Usb110                  : 0 (no, port not supports USB 1.1) -> but Companion Port 4-1 does
Usb200                  : 0 (no, port not supports USB 2.0) -> but Companion Port 4-1 does
Usb300                  : 1 (yes, port supports USB 3.0)
ReservedMBZ             : 0x00
Flags                    : 0x03
DevIsOpAtSsOrHigher     : 1 (Device is 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)           : 07 00 00 00 10 00 00 00 04 00 00 00 03 00 00 00   ................

    ---------------------- Device Descriptor ----------------------
bLength                  : 0x12 (18 bytes)
bDescriptorType          : 0x01 (Device Descriptor)
bcdUSB                   : 0x310 (USB Version 3.10)
bDeviceClass             : 0x00 (defined by the interface descriptors)
bDeviceSubClass          : 0x00
bDeviceProtocol          : 0x00
bMaxPacketSize0          : 0x09 (9 bytes)
idVendor                 : 0x090C (Silicon Motion, Inc. - Taiwan)
idProduct                : 0x1000
bcdDevice                : 0x1100
iManufacturer            : 0x01 (String Descriptor 1)
Language 0x0409         : "Samsung"
iProduct                 : 0x02 (String Descriptor 2)
Language 0x0409         : "Flash Drive FID"
iSerialNumber            : 0x03 (String Descriptor 3)
Language 0x0409         : "03063190300004'5"
bNumConfigurations       : 0x01 (1 Configuration)
Data (HexDump)           : 12 01 10 03 00 00 00 09 0C 09 00 10 00 11 01 02   ................
                           03 01                                             ..

    ------------------ Configuration Descriptor -------------------
bLength                  : 0x09 (9 bytes)
bDescriptorType          : 0x02 (Configuration Descriptor)
wTotalLength             : 0x002C (44 bytes)
bNumInterfaces           : 0x01 (1 Interface)
bConfigurationValue      : 0x01 (Configuration 1)
iConfiguration           : 0x00 (No String Descriptor)
bmAttributes             : 0x80
D7: Reserved, set 1     : 0x01
D6: Self Powered        : 0x00 (no)
D5: Remote Wakeup       : 0x00 (no)
D4..0: Reserved, set 0  : 0x00
MaxPower                 : 0x26 (76 mA)
Data (HexDump)           : 09 02 2C 00 01 01 00 80 26 09 04 00 00 02 08 06   ..,.....&.......
                           50 00 07 05 01 02 00 04 00 06 30 08 00 00 00 07   P.........0.....
                           05 82 02 00 04 00 06 30 08 00 00 00               .......0....

        ---------------- 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         : 0x01 (Direction=OUT EndpointID=1)
bmAttributes             : 0x02 (TransferType=Bulk)
wMaxPacketSize           : 0x0400 (max 1024 bytes)
bInterval                : 0x00 (never NAKs)
Data (HexDump)           : 07 05 01 02 00 04 00                              .......

        ------ SuperSpeed Endpoint Companion Descriptor -------
bLength                  : 0x06 (6 bytes)
bDescriptorType          : 0x30 (SuperSpeed Endpoint Companion Descriptor)
bMaxBurst                : 0x08 (up to 9 packets per burst)
bmAttributes             : 0x00 (The bulk endpoint does not define streams)
wBytesPerInterval        : 0x0000
Data (HexDump)           : 06 30 08 00 00 00                                 .0....

        ----------------- Endpoint Descriptor -----------------
bLength                  : 0x07 (7 bytes)
bDescriptorType          : 0x05 (Endpoint Descriptor)
bEndpointAddress         : 0x82 (Direction=IN EndpointID=2)
bmAttributes             : 0x02 (TransferType=Bulk)
wMaxPacketSize           : 0x0400 (max 1024 bytes)
bInterval                : 0x00 (never NAKs)
Data (HexDump)           : 07 05 82 02 00 04 00                              .......

        ------ SuperSpeed Endpoint Companion Descriptor -------
bLength                  : 0x06 (6 bytes)
bDescriptorType          : 0x30 (SuperSpeed Endpoint Companion Descriptor)
bMaxBurst                : 0x08 (up to 9 packets per burst)
bmAttributes             : 0x00 (The bulk endpoint does not define streams)
wBytesPerInterval        : 0x0000
Data (HexDump)           : 06 30 08 00 00 00                                 .0....

      ---------- 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             : 0x06
LPMCapable              : 1 (Link Power Management protocol is supported)
BESLAndAlternateHIRD    : 1 (BESL & Alternate HIRD definitions are supported)
BaselineBESLValid       : 0 (not valid)
DeepBESLValid           : 0 (not valid)
BaselineBESL            : 0
DeepBESL                : 0
Data (HexDump)           : 07 10 02 06 00 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         : 0x0C (High-Speed, SuperSpeed)
bFunctionalitySupport    : 0x02 (lowest speed with all the functionality is 'High-Speed')
bU1DevExitLat            : 0x04   (less than 4 µs)
wU2DevExitLat            : 0x0004 (less than 4 µs)
Data (HexDump)           : 0A 10 03 00 0C 00 02 04 04 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                  : 0x10 (16 bytes)
bDescriptorType          : 0x03 (String Descriptor)
Language 0x0409          : "Samsung"
Data (HexDump)           : 10 03 53 00 61 00 6D 00 73 00 75 00 6E 00 67 00   ..S.a.m.s.u.n.g.
             ------ String Descriptor 2 ------
bLength                  : 0x20 (32 bytes)
bDescriptorType          : 0x03 (String Descriptor)
Language 0x0409          : "Flash Drive FID"
Data (HexDump)           : 20 03 46 00 6C 00 61 00 73 00 68 00 20 00 44 00    .F.l.a.s.h. .D.
                           72 00 69 00 76 00 65 00 20 00 46 00 49 00 44 00   r.i.v.e. .F.I.D.
             ------ String Descriptor 3 ------
bLength                  : 0x22 (34 bytes)
bDescriptorType          : 0x03 (String Descriptor)
Language 0x0409          : "03063190300004'5"
Data (HexDump)           : 22 03 30 00 33 00 30 00 36 00 33 00 31 00 39 00   ".0.3.0.6.3.1.9.
                           30 00 33 00 30 00 30 00 30 00 30 00 34 00 27 00   0.3.0.0.0.0.4.'.
                           35 00                                             5.

To be clear, I saw this problem on brand new hardware running absolutely nothing but Windows itself and the latest motherboard and chipset drivers. Nothing else installed, nothing ever connected to the machine but a keyboard, mouse, thumb drive, and the included wifi antenna. The one fully-working front-panel port is driven by the X570 chipset, as is the non-working front-panel port (although they're on different headers, one is USB 3.2 Gen 1 and the other is Gen 2). The flaky 3.x rear-panel connectors are all controlled by the CPU. The two non-working 2.0 rear-panel connectors are also chipset-controlled. The rear-panel connectors are all in a sealed enclosure on the motherboard -- it even includes the rear-panel itself (not like the old days with a thin foil covering you install yourself). All drivers are current (well, they were last week when I started the thread, I haven't checked again yet). More is installed now than a week ago (I have to work) and USB seems to be the only thing that doesn't work correctly. I'm sure the machine is physically ok in terms of the build, I'm very experienced (programmer for 40+ years, been building my own machines on and off since the mid 90s).

Earlier the behavior was consistent -- no device worked anywhere but the single front-panel port. But while testing again this morning, I've started seeing different behavior -- that or my earlier testing wasn't as thorough as I thought (I was getting pretty frustrated).

The one front-panel port is still working normally. But now, in one specific rear-panel port, Windows is now able to read short bursts of data from the main thumb drive of interest. I can browse the root, and I can read short text files in the root, but when I try to browse to a large directory, Windows works for a moment, then reports a "Set Address Failed" error, and pops up a message "Error ERROR_ACCESS_DENIED writing to registry". Other error messages shown in the tool are DeviceFailedEnumeration and problem code 43 CM_PROB_FAILED_POST_START. In that same port, I tried a different device again (an SD card reader, which is really a hub since it mounts two drive letters, it can read micro and mini SD at the same time) and the results are even stranger -- Windows can read files and directories but only shows short filenames. For example, I copied UsbTreeView_x64 using the good port, swapped to a non-working port and Windows shows USBTRE~1 as the folder name. The files inside that folder also show the old 8.3 short filenames. That same SD card reader has both a Type A and Type C connector, so switching to the rear-panel Type C, I get normal full-length filenames, but it can't read anything but very short files. The symptoms seem to be all over the place.

When I get the error messages off that first thumb drive, I also see Event Log warnings -- "The IO operation at logical block address xxxxx for Disk1 was retried," followed by "An error was detected on device xxxxx during a paging operation." So that seems to match up with the fact that I can read small amounts of data which may also explain the 8.3 filename thing (which I vaguely recall is stored first on FAT filesystems, followed by the long names in a separate table).

i would go to the motherboard vendors website, make sure the bios is current with any usb fixes, install any 3rd party usb drivers for any external usb chips and install any cpu chipset update from the motherboard vendors website. then start cmd.exe as a admin
and run
net.exe stop "plug and play"

(leave the windows open, will will need it again)

go to windows control panel, device manager, and delete all of the usb devices shown.
after that is done, go back to your cmd.exe window and run
net.exe start "plug and play"
this should start the detection process and install the new drivers.
if not you can go back into windows control panel device manager and rescan for hardware changes and it should re detect the hardware and install the drivers.

failing that, i have seen ports that were being hung because plug and play was trying to load a driver on one core while another core was trying to do something with the port and it was just running in a endless loop hundreds of thousands of times.
i found it by making a kernel memory dump (forcing a kernel dump via keyboard) then running the debug command
!pnptriage
and looking what was running on each core.
just not a fun process, hopefully you just need to install a specfic USB 3.2 driver for your motherboard from the motherboard vendor.
 

MV10

Reputable
May 14, 2017
7
0
4,520
Thanks but that didn't change anything. I only have a USB keyboard/mouse so there's only so much I can delete/uninstall (had to leave one hub for the mouse, at which point I could use the on-screen keyboard). I've had the most recent BIOS and drivers installed this whole time and they haven't changed again yet.

One interesting thing I just noticed: I had not tried swapping around the keyboard/mouse in ALL ports previously, and to my surprise those also don't work in certain ports under Windows, but they work normally in all ports in BIOS.

I don't think I've got a lot of mystery background looping going on. My case fans ramp up and down based on system temps and they're rock steady, and I'm not seeing temp fluctuations anywhere when I'm not actively doing something in the foreground.

I went digging through Event Viewer and found the "Kernel-PnP" section. As soon as the thumb drive is plugged into a non-working port, event 442 "Device USB\VID_090C&PID_1000\03063190300004'5 was not migrated due to partial or ambiguous match" is reported. I'm guessing because of that strange apostrophe. Hmm, the device name is mis-reported, too, bizarre. Another event says "Device USBSTOR\Disk&Ven_Samsung&Prod_Flash_Drive_FID&Rev_1100\03063190300004'5&0 was configured" ... it should be FIT not FID. The last logged event is interesting too: Device SWD\WPDBUSENUM\_??_USBSTOR#Disk&Ven_Samsung&Prod_Flash_Drive_FID&Rev_1100#03063190300004'5&0#{53f56307-b6bf-11d0-94f2-00a0c91efb8b} requires further installation.

I'm wondering if devices work in BIOS because it doesn't care as much about some of these IDs which are being reported incorrectly ... so perhaps I really do have a hardware issue? Though it seems odd that it's so highly specific, I see those same errors logged (the apostrophe, and FID vs FIT) when I plug that drive into any of the non-working ports. Starting to think I should ask Amazon to do an exchange RMA just in case it's hardware. I have to take almost everything apart anyway to install that 5900x CPU when it gets here in a couple weeks.
 
Thanks but that didn't change anything. I only have a USB keyboard/mouse so there's only so much I can delete/uninstall (had to leave one hub for the mouse, at which point I could use the on-screen keyboard). I've had the most recent BIOS and drivers installed this whole time and they haven't changed again yet.

One interesting thing I just noticed: I had not tried swapping around the keyboard/mouse in ALL ports previously, and to my surprise those also don't work in certain ports under Windows, but they work normally in all ports in BIOS.

I don't think I've got a lot of mystery background looping going on. My case fans ramp up and down based on system temps and they're rock steady, and I'm not seeing temp fluctuations anywhere when I'm not actively doing something in the foreground.

I went digging through Event Viewer and found the "Kernel-PnP" section. As soon as the thumb drive is plugged into a non-working port, event 442 "Device USB\VID_090C&PID_1000\03063190300004'5 was not migrated due to partial or ambiguous match" is reported. I'm guessing because of that strange apostrophe. Hmm, the device name is mis-reported, too, bizarre. Another event says "Device USBSTOR\Disk&Ven_Samsung&Prod_Flash_Drive_FID&Rev_1100\03063190300004'5&0 was configured" ... it should be FIT not FID. The last logged event is interesting too: Device SWD\WPDBUSENUM\_??_USBSTOR#Disk&Ven_Samsung&Prod_Flash_Drive_FID&Rev_1100#03063190300004'5&0#{53f56307-b6bf-11d0-94f2-00a0c91efb8b} requires further installation.

I'm wondering if devices work in BIOS because it doesn't care as much about some of these IDs which are being reported incorrectly ... so perhaps I really do have a hardware issue? Though it seems odd that it's so highly specific, I see those same errors logged (the apostrophe, and FID vs FIT) when I plug that drive into any of the non-working ports. Starting to think I should ask Amazon to do an exchange RMA just in case it's hardware. I have to take almost everything apart anyway to install that 5900x CPU when it gets here in a couple weeks.
Most likely you have a bad oem.inf file with a typo in it. When you plug in a USB device in windows the windows plug and play loads a driver. When you remove the device it just hides the driver from your view. You have to select show hidden devices or make a registry change to show the removed devices. You have to tell windows control panel to show hidden devices then remove the driver from each USB port. Then remove the bad one.ini file or edit the file and fix the typo since it is a text file. Each port can have a different driver associated with it. It is why some time removing all the USB devices from the device manager and letting plug and play reinstall sometimes works. Unless windows picks up the wrong/bad one.inf file again. Most likely you have two versions. You can use the plug and play utility to enumerate your oem.inf files so you can figure out which files pertain to the USB ports. Start cmd.exe then run
Pnputil.exe /e
and look at the list for USB and try to find the oem file name
Then edit or remove the file. I do not remember if the file is protected. If it is then windows will fix it back to the bad version after you reboot and you will have to use a tool to remove it from the driverstore
 

MV10

Reputable
May 14, 2017
7
0
4,520
Interesting, haven't seen the pnputil before. The thumb drive wasn't listed, perhaps because storage devices use the default MS drivers (usbstor.inf and .sys) . My mouse and keyboard were also not listed, I assume for the same reason.

The INF filename is actually in the USB Tree View tool, too -- the "Driver" line in the "USB Device" section shows the .sys file's pathname, and "Driver Inf" shows the .inf filename. There the thumb drive shows usbstor.inf whether it's in a working or non-working port. (Hmm, just found a "setupapi.dev.log" file in the INF directory that has some detailed info about when the drive was plugged into a non-working port. That file refers to wpdfs.inf, no other clues though, everything else is identical to what was logged for a working port, except the weird IDs... I see in the INF that WPD stands for Windows Portable Device, so I guess that makes sense.)

Just for the heck of it, I also opened all the oem .inf files in Notepad++ (there were only about 30) and none of them referenced any removable storage.
 
Interesting, haven't seen the pnputil before. The thumb drive wasn't listed, perhaps because storage devices use the default MS drivers (usbstor.inf and .sys) . My mouse and keyboard were also not listed, I assume for the same reason.

The INF filename is actually in the USB Tree View tool, too -- the "Driver" line in the "USB Device" section shows the .sys file's pathname, and "Driver Inf" shows the .inf filename. There the thumb drive shows usbstor.inf whether it's in a working or non-working port. (Hmm, just found a "setupapi.dev.log" file in the INF directory that has some detailed info about when the drive was plugged into a non-working port. That file refers to wpdfs.inf, no other clues though, everything else is identical to what was logged for a working port, except the weird IDs... I see in the INF that WPD stands for Windows Portable Device, so I guess that makes sense.)

Just for the heck of it, I also opened all the oem .inf files in Notepad++ (there were only about 30) and none of them referenced any removable storage.
well i looked on my machine at the .inf files and I saw about 5 of them for different devices only 1 was had the correct class id, the rest just said it was a system file.

i did not see some that I knew should, i went into windows device manager, found the device inf file by looking at at the install event for the device
something like device configured (usb3hub.inf)
then searched my drive for the usbhub3.inf and found the were stored in
c:\windows\inf directory
as well as 10 other locations
it looks like windows had one version on the install then rolled out 3 fixes for the file on different dates
original file dated 8/8/20
2 updates 10/8/202 (with one byte different file size)

another 2 updates on 11/5/2020 (with one byte different file size)

the package in the driver store has a old date on it with the old timestamp and file size.
so that mean I am not sure where the data is being stored maybe the patch is just applied to the system registry.

you might want to confirm that you are getting the various windows updates.
 

MV10

Reputable
May 14, 2017
7
0
4,520
For the sake of closure, it turns out the motherboard was bad.

MSI support was worthless, but AMD stuck with me -- slowly, but always asking good questions and eventually responding.

They asked me to flash the latest (beta) BIOS from MSI and that bricked my motherboard (wouldn't POST, debug stuck on 00).

I RMA'd it for a new one and the new one works perfectly (all the same hardware otherwise, same drive / OS install, etc. -- needless to say I didn't risk the beta BIOS again).
 
Solution