Windows – USB 3.0 flash drive won’t work in SuperSpeed mode under Windows 8

driverslaptopusb-3usb-flash-drivewindows 8

I recently purchased a 16GB SanDisk Ultra USB 3.0 flash drive that boasts 80 MB/s read speeds but when I connect it to my Lenovo G500s notebook (USB 3.0 enabled) running Windows 8 Core, it only achieves about 44 MB/s (read) and 10 MB/s (write)

What I've tried:

I looked around in Lenovo support forums as well as other forums and found out the USB 3.0 driver in Windows 8 is supplied by Microsoft itself (they referred to it as "inbox driver") and is automatically installed while Windows is set up.

I looked under Device Manager and confirmed that Intel USB 3.0 eXtensible Host Controller - 0100 (Microsoft) is showing and that the latest drivers were already installed through Windows Update.

I removed all USB Root Hub devices and restarted the computer and then reconnected the flash drive. No luck.

I checked the flash drive connection under Devices in Settings -> Change PC Settings and it still shows Device can perform faster when connected to USB 3.0

I read this blog post and downloaded USB Device Tree Viewer which is very similar to USBView.exe, a debug tool found in Windows Driver Kit (WDK) and used it to gather more information about the operation mode of the flash drive and I got this:

    =========================== USB Port2 ===========================

Connection Status        : Device is connected
Port Chain               : 2-2
Supported Protocols      : 0x03 (1.1, 2.0)
Properties               : 0x01
 IsUserConnectable       : yes
 PortIsDebugCapable      : no
ConnectionIndex          : 2
CompanionIndex           : 0
 CompanionHubSymLnk      : USB#ROOT_HUB30#4&d858888&3&0#{f18a0e88-c30c-11d0-8815-00a0c906bed8}
 CompanionPortNumber     : 6

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

        +++++++++++++++++ Device Information ++++++++++++++++++
Device Description       : USB Mass Storage Device
Device ID                : USB\VID_0781&PID_5581\SERIALNUMBERXXXX
Driver KeyName           : {36fc9e60-c465-11cf-8056-444553540000}\0010 (GUID_DEVCLASS_USB)
Driver                   : C:\windows\System32\drivers\USBSTOR.SYS (Version: 6.2.9200.16384  Date: 2012-07-26)
Legacy BusType           : PNPBus
Class                    : USB
Service                  : USBSTOR
Enumerator               : USB
Location Info            : Port_#0002.Hub_#0003
Location IDs             : PCIROOT(0)#PCI(1400)#USBROOT(0)#USB(2)
Container ID             : {8aa21585-82cf-5864-9c87-67b72dcb8f0f}
Manufacturer Info        : Compatible USB storage device
Capabilities             : Removable, UniqueID, SurpriseRemovalOK
Address                  : 2
Problem Code             : 0
Power State              : D0 (supported: D0, D3, wake from D0)
 Child Device 1          : Disk drive
  Device ID              : USBSTOR\DISK&VEN_SANDISK&PROD_SANDISK_ULTRA&REV_PMAP\SERIALNUMBERXXXX&0
  Class                  : DiskDrive
   Volume                : \\?\Volume{7db282d8-79d9-11e3-be77-48d2243b0595}\
   Kernel Name           : \Device\HarddiskVolume14
   Mountpoint            : F:\

        ---------------- Connection Information ---------------
Connection Index         : 0x02
Connection Status        : 0x01 (DeviceConnected)
Current Config Value     : 0x01
Device Address           : 0x04
Is Hub                   : 0x00 (no)
Number Of Open Pipes     : 0x02 (2)
Device Bus Speed         : 0x02 (High-Speed)
Pipe0ScheduleOffset      : 0x00 (0)
Pipe1ScheduleOffset      : 0x00 (0)

        ------------------ 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                 : 0x0781 (SanDisk Corporation)
idProduct                : 0x5581
bcdDevice                : 0x110
iManufacturer            : 0x01
 Language 0x0409         : "SanDisk"
iProduct                 : 0x02
 Language 0x0409         : "SanDisk Ultra"
iSerialNumber            : 0x03
 Language 0x0409         : "SERIALNUMBERXXXX"
bNumConfigurations       : 0x01

        -------------- Configuration Descriptor ---------------
bLength                  : 0x09 (9 bytes)
bDescriptorType          : 0x02 (Configuration Descriptor)
wTotalLength             : 0x0020 (32 bytes)
bNumInterfaces           : 0x01
bConfigurationValue      : 0x01
iConfiguration           : 0x00
bmAttributes             : 0x80 (Bus Powered)
MaxPower                 : 0x96 (300 mA)

        ---------------- Interface Descriptor -----------------
bLength                  : 0x09 (9 bytes)
bDescriptorType          : 0x04 (Interface Descriptor)
bInterfaceNumber         : 0x00
bAlternateSetting        : 0x00
bNumEndpoints            : 0x02
bInterfaceClass          : 0x08 (Mass Storage)
bInterfaceSubClass       : 0x06 (SCSI transparent command set)
bInterfaceProtocol       : 0x50 (Bulk­Only Transport)
iInterface               : 0x00

        ----------------- Endpoint Descriptor -----------------
bLength                  : 0x07 (7 bytes)
bDescriptorType          : 0x05 (Endpoint Descriptor)
bEndpointAddress         : 0x81 (Direction=IN  EndpointID=1)
bmAttributes             : 0x02 (TransferType=Bulk)
wMaxPacketSize           : 0x200 (max 512 bytes)
bInterval                : 0x00 (never NAKs)

        ----------------- Endpoint Descriptor -----------------
bLength                  : 0x07 (7 bytes)
bDescriptorType          : 0x05 (Endpoint Descriptor)
bEndpointAddress         : 0x02 (Direction=OUT  EndpointID=2)
bmAttributes             : 0x02 (TransferType=Bulk)
wMaxPacketSize           : 0x200 (max 512 bytes)
bInterval                : 0x00 (never NAKs)

        -------- Binary Object Store (BOS) Descriptor ---------
bLength                  : 0x05 (5 bytes)
bDescriptorType          : 0x0F
wTotalLength             : 0x0016
bNumDeviceCaps           : 0x02

        ------------- USB 2.0 Extension Descriptor ------------
bLength                  : 0x07 (7 bytes)
bDescriptorType          : 0x10
bDevCapabilityType       : 0x02 (USB 2.0 Extension)
bmAttributes             : 0x02
  LPMCapable             : 1 (Link Power Management protocol is supported)
  BESLAndAlternateHIRD   : 0 (BESL & Alternate HIRD definitions are not supported)
  BaselineBESLValid      : 0 (not valid)
  DeepBESLValid          : 0 (not valid)
  BaselineBESL           : 0
  DeepBESL               : 0

        ----- SuperSpeed USB Device Capability Descriptor -----
bLength                  : 0x0A (10 bytes)
bDescriptorType          : 0x10
bDevCapabilityType       : 0x03
bmAttributes             : 0x00
wSpeedsSupported         : 0x0E (Full-Speed, High-Speed, SuperSpeed)
bFunctionalitySupport    : 0x02 (lowest speed is 'high-speed')
bU1DevExitLat            : 0x0A   (less than 10 µs)
wU2DevExitLat            : 0x07FF (less than 2047 µs)

Then I connected my external, adaptor powered 2TB WD hard drive that supports USB 3.0 and it was able to connect in USB 3.0 mode without any problems. Here's USB Device Tree Viewer's output for the WD HDD:

    =========================== USB Port5 ===========================

Connection Status        : Device is connected
Port Chain               : 2-5
Supported Protocols      : 0x04 (3.0)
Properties               : 0x01
 IsUserConnectable       : yes
 PortIsDebugCapable      : no
ConnectionIndex          : 5
CompanionIndex           : 0
 CompanionHubSymLnk      : USB#ROOT_HUB30#4&d858888&3&0#{f18a0e88-c30c-11d0-8815-00a0c906bed8}
 CompanionPortNumber     : 1

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

        +++++++++++++++++ Device Information ++++++++++++++++++
Device Description       : USB Mass Storage Device
Device ID                : USB\VID_1058&PID_1140\SERIALNUMBERSERIALNUMBER
Driver KeyName           : {36fc9e60-c465-11cf-8056-444553540000}\0012 (GUID_DEVCLASS_USB)
Driver                   : C:\windows\System32\drivers\USBSTOR.SYS (Version: 6.2.9200.16384  Date: 2012-07-26)
Legacy BusType           : PNPBus
Class                    : USB
Service                  : USBSTOR
Enumerator               : USB
Location Info            : Port_#0005.Hub_#0003
Location IDs             : PCIROOT(0)#PCI(1400)#USBROOT(0)#USB(5)
Container ID             : {759f9168-715a-5e4b-9219-04e2297d996d}
Manufacturer Info        : Compatible USB storage device
Capabilities             : Removable, UniqueID, SurpriseRemovalOK
Address                  : 5
Problem Code             : 0
Power State              : D0 (supported: D0, D3, wake from D0)
 Child Device 1          : WD SES Device
  Device ID              : USBSTOR\OTHER&VEN_WD&PROD_SES_DEVICE&REV_1022\SERIALNUMBERSERIALNUMBER&1
  Class                  : WDC_SAM
 Child Device 2          : Disk drive
  Device ID              : USBSTOR\DISK&VEN_WD&PROD_MY_BOOK_1140&REV_1022\SERIALNUMBERSERIALNUMBER&0
  Class                  : DiskDrive
   Volume 1              : \\?\Volume{ba5887d4-7abf-11e3-be7b-48d2243b0595}\
   Kernel Name           : \Device\HarddiskVolume8
   Mountpoint            : F:\
   Volume 2              : \\?\Volume{ba5887d5-7abf-11e3-be7b-48d2243b0595}\
   Kernel Name           : \Device\HarddiskVolume9
   Mountpoint            : G:\

        ---------------- Connection Information ---------------
Connection Index         : 0x05
Connection Status        : 0x01 (DeviceConnected)
Current Config Value     : 0x01
Device Address           : 0x01
Is Hub                   : 0x00 (no)
Number Of Open Pipes     : 0x02 (2)
Device Bus Speed         : 0x03 (SuperSpeed)
Pipe0ScheduleOffset      : 0x00 (0)
Pipe1ScheduleOffset      : 0x00 (0)

        ------------------ Device Descriptor ------------------
bLength                  : 0x12 (18 bytes)
bDescriptorType          : 0x01 (Device Descriptor)
bcdUSB                   : 0x300 (USB Version 3.00)
bDeviceClass             : 0x00 (defined by the interface descriptors)
bDeviceSubClass          : 0x00
bDeviceProtocol          : 0x00
bMaxPacketSize0          : 0x09 (9 bytes)
idVendor                 : 0x1058 (Western Digital Technologies, Inc.)
idProduct                : 0x1140
bcdDevice                : 0x1022
iManufacturer            : 0x01
 Language 0x0409         : "Western Digital"
iProduct                 : 0x02
 Language 0x0409         : "My Book 1140"
iSerialNumber            : 0x05
 Language 0x0409         : "SERIALNUMBERSERIALNUMBER"
bNumConfigurations       : 0x01

        -------------- Configuration Descriptor ---------------
bLength                  : 0x09 (9 bytes)
bDescriptorType          : 0x02 (Configuration Descriptor)
wTotalLength             : 0x002C (44 bytes)
bNumInterfaces           : 0x01
bConfigurationValue      : 0x01
iConfiguration           : 0x04
 Language 0x0409         : "USB Mass Storage"
bmAttributes             : 0xC0 (Bus Powered, Self Powered)
MaxPower                 : 0x01 (8 mA)

        ---------------- Interface Descriptor -----------------
bLength                  : 0x09 (9 bytes)
bDescriptorType          : 0x04 (Interface Descriptor)
bInterfaceNumber         : 0x00
bAlternateSetting        : 0x00
bNumEndpoints            : 0x02
bInterfaceClass          : 0x08 (Mass Storage)
bInterfaceSubClass       : 0x06 (SCSI transparent command set)
bInterfaceProtocol       : 0x50 (Bulk­Only Transport)
iInterface               : 0x06
 Language 0x0409         : "MSC Bulk-Only Transport"

        ----------------- Endpoint Descriptor -----------------
bLength                  : 0x07 (7 bytes)
bDescriptorType          : 0x05 (Endpoint Descriptor)
bEndpointAddress         : 0x81 (Direction=IN  EndpointID=1)
bmAttributes             : 0x02 (TransferType=Bulk)
wMaxPacketSize           : 0x400
bInterval                : 0x00 (never NAKs)

        ------ SuperSpeed Endpoint Companion Descriptor -------
bLength                  : 0x06 (6 bytes)
bDescriptorType          : 0x30
bMaxBurst                : 0x0F (up to 16 packets per burst)
bmAttributes             : 0x00 (The bulk endpoint does not define streams)
wBytesPerInterval        : 0x0000

        ----------------- Endpoint Descriptor -----------------
bLength                  : 0x07 (7 bytes)
bDescriptorType          : 0x05 (Endpoint Descriptor)
bEndpointAddress         : 0x02 (Direction=OUT  EndpointID=2)
bmAttributes             : 0x02 (TransferType=Bulk)
wMaxPacketSize           : 0x400
bInterval                : 0x00 (never NAKs)

        ------ SuperSpeed Endpoint Companion Descriptor -------
bLength                  : 0x06 (6 bytes)
bDescriptorType          : 0x30
bMaxBurst                : 0x0F (up to 16 packets per burst)
bmAttributes             : 0x00 (The bulk endpoint does not define streams)
wBytesPerInterval        : 0x0000

        -------- Binary Object Store (BOS) Descriptor ---------
bLength                  : 0x05 (5 bytes)
bDescriptorType          : 0x0F
wTotalLength             : 0x0016
bNumDeviceCaps           : 0x02

        ------------- USB 2.0 Extension Descriptor ------------
bLength                  : 0x07 (7 bytes)
bDescriptorType          : 0x10
bDevCapabilityType       : 0x02 (USB 2.0 Extension)
bmAttributes             : 0x02
  LPMCapable             : 1 (Link Power Management protocol is supported)
  BESLAndAlternateHIRD   : 0 (BESL & Alternate HIRD definitions are not supported)
  BaselineBESLValid      : 0 (not valid)
  DeepBESLValid          : 0 (not valid)
  BaselineBESL           : 0
  DeepBESL               : 0

        ----- SuperSpeed USB Device Capability Descriptor -----
bLength                  : 0x0A (10 bytes)
bDescriptorType          : 0x10
bDevCapabilityType       : 0x03
bmAttributes             : 0x00
wSpeedsSupported         : 0x0E (Full-Speed, High-Speed, SuperSpeed)
bFunctionalitySupport    : 0x01 (lowest speed is 'full-speed')
bU1DevExitLat            : 0x0A   (less than 10 µs)
wU2DevExitLat            : 0x0020 (less than 32 µs)

Both devices were connected to the same USB 3.0 port. What could be the problem here?

Best Answer

Found same problem on a 32GB USB 3.0 Drive (Win 8.1 Laptop with 4x USB 3.0 ports). Read elsewhere that connecting too slowly will produce this effect (reads as High-Speed 0x02 connection instead of SuperSpeed 0x03).

I removed the drive (using eject pop-up window), waited a few seconds and reconnected quickly. The connection now reads correctly as SuperSpeed.

Apparently a drive can register as USB 2.0 before extra USB 3.0 pins connect if inserted too slowly.

Whether registered as High-Speed or Super-Speed the wSpeedsSupported parameter showed wSpeedsSupported : 0x0E (Full-Speed, High-Speed, SuperSpeed)

indicating that SuperSpeed was attainable.

MaxPower now reads as 504ma (was 300mA when connected in High-Speed mode).

Related Question