我有几台 Dell XPS 13 机器出现左侧 USB 3.0 端口间歇性故障,如此主题。由于多个外部硬盘的静默损坏/断开连接,我丢失了数据。
证据表明,硬件设计存在缺陷(内部连接端口和控制器的电缆屏蔽不足),导致在 USB 3.0 协议下运行时出现中断。因此,不太可能通过软件/固件更新完全解决该问题。
我正在寻找的是软件解决方案强制将单个端口降级为使用 USB 2.0,即使其中插入了支持 USB 3.0 的设备。有些人报告说使用 USB 2.0 集线器可以成功,但我正在寻找一种不需要额外硬件的解决方案。
Windows 将 USB 控制器报告为Intel(R) USB 3.0 eXtensible Host Controller
。两个端口都通过同一个根集线器。请告诉我是否需要提供有关控制器的更多详细信息。
没有 BIOS 选项可以切换 USB 速度(事实证明,有,但没有明确显示)。如果可能的话,我希望另一个端口以 3.0 运行。
答案1
这很可能是不可能的,或者非常设备特定。如果可能的话,这将取决于系统如何处理 2.0/3.0 兼容性。我预计低级硬件和协议检测以及传输频率管理将在硬件/固件中处理 - 而不是操作系统。如果是这样的话,那么完全由硬件供应商提供支持以在驱动程序中强制使用“传统模式”。我非常怀疑这是否普遍 - 如果有的话 - 是否完成。
您应该查阅硬件制造商的文档以获取有关此内容的更多信息。
答案2
虽然这不是软件解决方案,但如果您使用 USB 2 延长线,它将阻止插头中的 5 个 USB 3 针脚物理连接承载主机和设备之间 USB 3 握手的电线。USB 2 设备或电缆只有 4 个针脚。当仅连接 4 个针脚时,USB 3 端口将默认为 USB 2 信号通信。USB 2 延长线仅承载 4 根连接 USB 2 通信的 4 个针脚的电线。
答案3
这是可能的。它涉及更改 xHCI 控制器中的配置寄存器,因此它显然是特定于芯片组的。这是在 Linux 上完成的方式。我想在 Windows 上也应该可以做到这一点,但我不知道要使用什么实用程序。
要将两个端口都设置为 USB 2.0 模式:
sudo setpci -H1 -d 8086:1e31 d8.l=0
右端口 3.0 和左端口 2.0:
sudo setpci -H1 -d 8086:1e31 d8.l=1
右端口 2.0 和左端口 3.0:
sudo setpci -H1 -d 8086:1e31 d8.l=2
更改 d8 处的寄存器 (USB3_PSSEN) 可将端口设置为 USB 2.0 模式,但它们仍位于 xHCI 控制器上。要切换到 EHCI,您还必须更改 d0 处的寄存器 (XUSB2PR)。例如,要从 EHCI 控制器运行两个端口,您必须执行以下操作:
sudo setpci -H1 -d 8086:1e31 d8.l=0
sudo setpci -H1 -d 8086:1e31 d0.l=0
该数据表的第 17.1 节中记录了这些寄存器:英特尔® 7 系列/C216 芯片组家族平台控制器中枢 (PCH)
答案4
我有一个 xbox 360 控制器,但我的 HP Stream Notebook 11 有 usb 3.0,它需要 usb 2.0。但是,如果您使用 USB 2.0 集线器,您将能够获得 3.0 速度,但使用 2.0 连接。
希望这对你有帮助,杰克