码迷,mamicode.com
首页 > 其他好文 > 详细

从驱动层将USB3.0转换为USB2.0

时间:2015-04-03 17:21:55      阅读:1743      评论:0      收藏:0      [点我收藏+]

标签:


最近有个需求是把USB3.0强制转换成USB2.0,也就是让操作系统把硬件上的3.0识别成2.0 。从网上找到了如下内容,顿时心里暖暖的,特拿来分享一下。

1. Linux下的操作,其中 设备号为 USB3.0 总线设备的设备号,可以通过 lspci -nn | grep xHCI 查出来

It‘s possible. It involves changing configuration registers in the xHCI controller, so it‘s obviously chipset-specific. This is how it‘s done on Linux. I suppose it should be possible to do it on Windows too, but I don‘t know what utility to use.

To set both ports to USB 2.0 mode:

sudo setpci -H1 -d 8086:1e31 d8.l=0

Right port 3.0 and left port 2.0:

sudo setpci -H1 -d 8086:1e31 d8.l=1

Right port 2.0 and left port 3.0:

sudo setpci -H1 -d 8086:1e31 d8.l=2

Changing the register at d8 (USB3_PSSEN) sets the ports in USB 2.0 mode, but they are still on the xHCI controller. To switch over to EHCI, you also have to change the register at d0 (XUSB2PR). For example to run both ports off the EHCI contoller you have to do this:

sudo setpci -H1 -d 8086:1e31 d8.l=0

sudo setpci -H1 -d 8086:1e31 d0.l=0

The registers are documented in this datasheet, in section 17.1.

http://www.intel.com/content/www/us/en/chipsets/7-series-chipset-pch-datasheet.html.


2.Windows下

下边这条回复简洁明了

pciutils (lspci, setpci) for Windows are available here: https://eternallybored.org/misc/pciutils/

用法跟上边是一样的。

这样 3.0的口硬生生的就变成2.0的了。

从驱动层将USB3.0转换为USB2.0

标签:

原文地址:http://blog.csdn.net/zhangzxing/article/details/44857391

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!