我的 Raspberry Pi 上的 Netgear WiFi 棒(使用 ath9k_htc 驱动程序)定期进入错误状态,导致 dmesg 中的 USB 读取错误。这种状态无法通过系统重置来纠正,但需要对 USB 设备进行完整的电源循环,方法是拔下它并重新插入 USB 记忆棒,或者重启整个计算机。
我已经读到可以使用 USB 集线器以编程方式为 USB 设备循环供电。所以我根据这篇文章中的信息在我的内陆 4 端口 USB 2.0 集线器上尝试了这个:
但是即使发出以下命令后,USB WiFi 棒上的灯仍会发光,尽管它确实使 wlan0 设备消失了。我在 Belkin 4 端口集线器上尝试过,结果相同。有人有任何想法吗?
echo '1-1.2.3' | tee /sys/bus/usb/drivers/usb/unbind
Run Code Online (Sandbox Code Playgroud)
我的 USB 连接的详细信息:
pi@fpi-16 ~ $ sudo lsusb -t
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=dwc_otg/1p, 480M
|__ Port 1: Dev 2, If 0, Class=hub, Driver=hub/3p, 480M
|__ Port 1: Dev 3, If 0, Class=vend., Driver=smsc95xx, 480M
|__ Port 2: Dev 4, If 0, Class=hub, Driver=hub/4p, 480M
|__ Port 1: Dev 5, If 0, Class=vend., Driver=rt2800usb, 480M
|__ Port 3: Dev 6, If 0, Class=vend., Driver=ath9k_htc, 480M
Run Code Online (Sandbox Code Playgroud)
小智 1
如果您的 USB 主机驱动程序被编译为内核模块,您可以尝试卸载它并重新加载它。这通常也会完全关闭 USB 电源(我在其他具有故障 USB 硬件、需要电气重置的设备上执行此操作,而不是专门在 Rasperry Pi 上执行此操作,我对此并不抱歉)。因此,检查您是否将其视为模块(lsmod)或将其编译为模块,然后对它进行 rmmod(以及最终的所有依赖项)并再次重新加载它,它应该可以解决问题。
| 归档时间: |
|
| 查看次数: |
11506 次 |
| 最近记录: |