3

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?

4 Answers 4

4

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).

2
  • +1. My Lexar JumpDrive S33 would do the same thing on my laptop if it is inserted too slowly.
    – bwDraco
    Commented Apr 26, 2015 at 21:39
  • Thank you very much! This is the exact fix for my Sandisk Ultra Dual USB Drive 3.0 + Windows 10 Lenovo Y50-70
    – d4ryl3
    Commented Sep 7, 2017 at 7:26
1

I got the same problem with EAGET 32GB USB 3.0 (model V90). My Acer VN7-791G recognize SuperSpeed for this drive only after clean reboot. Can't enable USB suspend, didn't try that. It has dual USB/microUSB with OTG connector, USB 3.0 enabled tablet can't use it in USB 3.0 either. Strangest thing for me, is that in USBView it shows that the device is connected to xHCI in High speed, but capable of performing in SuperSpeed. So Windows sees the correct descriptors, but somehow it ignores them.

I should note that not all USB 3.0 hosts have a problem with this particular flash drive. Some motherboards and laptops connect in SS right away, and I wouldn't say I am able to put it in the socket faster or more cleanly.

enter image description here Attached USBView

PS OK, another poster mentioned a Device Installation message popping up, whenever he switched the ports. That got me thinking that you could uninstall a driver for USB mass storage, Rescan, and flash drive is recognized as USB 3.0. It seems like a Windows bug to me (using the latest Windows 10 with every available update).

3
  • 1
    I've already found the answer to my problem. The flash drive wasn't properly inserted (needed to use a bit more force when plugging it in)
    – Vinayak
    Commented Dec 18, 2015 at 11:28
  • See if you are able to use your flash drive in USB 3.0 mode by connecting it to your notebook while it's powered off and then powering it on.
    – Vinayak
    Commented Dec 18, 2015 at 11:29
  • karel, thank you for editing this! Vinayak, sure, that would work. My point is there is much faster, less painful "fix" forcing Windows to correctly recognize the drive. It seems like OS too much in a hurry, that it doesn't wait for a user to fully plug in a device. That happens for other USB devices too, sometimes. Why no one has addressed it to Microsoft is beyond me...
    – Vitalij
    Commented Dec 19, 2015 at 23:12
0

I discovered a temporary fix for the problem. It seems that whenever I keep the USB 3.0 flash drive attached to the notebook before I boot into Windows, it works in USB 3.0 SuperSpeed mode.

If I'm already booted into Windows, I put my notebook to sleep, attach the flash drive and wake it up and somehow that causes the flash drive to work in USB 3.0 mode as well.

However, if I remove the flash drive and re-insert it, it falls back to USB 2.0 HighSpeed mode again.

EDIT: This sounds crazy, but I found another way to get my flash drive to connect in USB 3.0 mode. When my flash drive isn't connected in SuperSpeed mode, I detach it from the USB 3.0 port, re-attach it to the one USB 2.0 port on my notebook and then detach and re-attach it back to any of the two USB 3.0 ports and doing this somehow gets it to work in USB 3.0 mode again.

The other strange thing that happens here is that "Device Setup" pops up each time I switch between USB 3.0 and USB 2.0 ports

0

I think I finally have the answer to my question. It looks like the USB flash drive wasn't properly attached to the USB ports, even though it went all the way into the USB port.

Application of a little extra force while attaching the flash drive seems to have fixed the issue for me.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .