我最近购买了一个 16GB SanDisk Ultra USB 3.0 闪存盘,其读取速度高达 80 MB/s,但当我将其连接到运行 Windows 8 Core 的联想 G500s 笔记本电脑(启用 USB 3.0)时,它只能达到约 44 MB/s(读取)和 10 MB/s(写入)
我尝试过的:
我查看了联想支持论坛以及其他论坛,发现 Windows 8 中的 USB 3.0 驱动程序由微软自己提供(他们将其称为“收件箱驱动程序”),并在 Windows 设置时自动安装。
我查看了设备管理器并确认Intel USB 3.0 eXtensible Host Controller - 0100 (Microsoft)
显示了该内容并且已通过 Windows 更新安装了最新的驱动程序。
我移除了所有USB Root Hub
设备,重启了电脑,然后重新连接了闪存驱动器。但还是不行。
我检查了闪存驱动器连接Devices
,Settings -> Change PC Settings
但仍然显示连接到 USB 3.0 时设备运行速度更快
我读这篇博文并下载USB 设备树查看器它与 Windows 驱动程序工具包 (WDK) 中的调试工具 USBView.exe 非常相似,我用它来收集有关闪存驱动器操作模式的更多信息,得到了以下信息:
=========================== 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 (BulkOnly 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)
然后我连接了支持 USB 3.0 的外部适配器供电 2TB WD 硬盘,它能够以 USB 3.0 模式连接,没有任何问题。以下是 USB 设备树查看器对 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 (BulkOnly 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)
两个设备都连接到同一个 USB 3.0 端口。这可能是什么问题?
答案1
在 32GB USB 3.0 驱动器(带有 4 个 USB 3.0 端口的 Win 8.1 笔记本电脑)上也发现了同样的问题。在其他地方读到,连接速度太慢会产生这种影响(读作 High-Speed 0x02 连接而不是 SuperSpeed 0x03)。
我移除了驱动器(使用弹出窗口),等了几秒钟,然后重新连接迅速地。连接现在可正确读取为 SuperSpeed。
显然,如果插入速度太慢,驱动器在额外的 USB 3.0 引脚连接之前就会注册为 USB 2.0。
无论注册为高速还是超高速,wSpeedsSupported 参数均显示 wSpeedsSupported : 0x0E (全速、高速、超高速)
这表明超高速是可以实现的。
MaxPower 现在读取为 504ma(高速模式下连接时为 300mA)。
答案2
我在使用 EAGET 32GB USB 3.0(型号 V90)时也遇到了同样的问题。我的 Acer VN7-791G 只有在完全重启后才能识别此驱动器的 SuperSpeed。无法启用 USB 挂起,没有尝试过。它具有带 OTG 连接器的双 USB/microUSB,支持 USB 3.0 的平板电脑也无法在 USB 3.0 中使用它。对我来说最奇怪的是,在 USBView 中,它显示该设备以高速连接到 xHCI,但能够在 SuperSpeed 下运行。因此,Windows 看到了正确的描述符,但不知何故它忽略了它们。
我应该指出,并非所有 USB 3.0 主机都无法与此特定闪存驱动器兼容。有些主板和笔记本电脑可以立即连接 SS,而且我不能说我能够更快或更干净地将其插入插槽。
PS OK,另一位发帖者提到,每当他切换端口时,都会弹出设备安装消息。这让我想到你可以卸载 USB 大容量存储驱动程序,重新扫描,并且闪存驱动器被识别为 USB 3.0。对我来说,这似乎是 Windows 的一个错误(使用最新的 Windows 10 及其所有可用更新)。
答案3
我找到了一个临时解决方案。似乎只要我在启动 Windows 之前将 USB 3.0 闪存驱动器连接到笔记本电脑,它就会在 USB 3.0 SuperSpeed 模式下运行。
如果我已经启动到 Windows,我会让笔记本电脑进入睡眠状态,连接闪存驱动器并将其唤醒,这会使闪存驱动器也在 USB 3.0 模式下工作。
但是,如果我移除闪存驱动器并重新插入,它会再次回到 USB 2.0 高速模式。
编辑:这听起来很疯狂,但我找到了另一种方法让我的闪存驱动器以 USB 3.0 模式连接。当我的闪存驱动器未以超高速模式连接时,我将其从 USB 3.0 端口上卸下,将其重新连接到笔记本电脑上的一个 USB 2.0 端口,然后将其卸下并重新连接到两个 USB 3.0 端口中的任何一个,这样做不知何故让它再次以 USB 3.0 模式工作。
这里发生的另一件奇怪的事情是,每次我在 USB 3.0 和 USB 2.0 端口之间切换时都会弹出“设备设置”
答案4
我想我终于找到问题的答案了。看来 USB 闪存盘没有正确连接到 USB 端口,即使它完全插入了 USB 端口。
在连接闪存驱动器时稍微施加一点额外的力似乎已经解决了这个问题。