900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > linux禁用usb的命令 禁用linux中的usb端口

linux禁用usb的命令 禁用linux中的usb端口

时间:2024-03-10 13:12:43

相关推荐

linux禁用usb的命令 禁用linux中的usb端口

我已经搜索了很多答案,但是我能找到最接近的解决方案是this,但它对我不起作用.

这是我的系统:

# uname -a

Linux vin 4.4.0-1-amd64 #1 SMP Debian 4.4.6-1 (-03-17) x86_64 GNU/Linux

问题是:我的一个USB端口似乎已经死了.任何试图读取“/ sys / bus / usb / devices / usb1 / descriptors”的程序都会导致程序挂起不可杀死的状态.

不幸的是,许多软件似乎想要访问USB1,包括chrome和blender,这就是为什么这会让我烦恼不已.当我用strace调用这些程序时,它们总是在尝试打开“/ sys / bus / usb / devices / usb1 / descriptors”时挂起.

我尝试过“echo suspend> / sys / bus / usb / devices / usb1 / power / level”之类的东西,但这并不好 – 命令就像其他命令一样挂起.

我尝试使用上面链接的帖子中提到的hubpower代码,但它似乎只是像其他人一样挂起.

我尝试关闭整个系统并打开电脑本身直接断开USB端口,但整个USB端口集合(有很多)似乎与主板紧密集成,我看不到拔掉任何东西的方法.当然,我没有多少经验将电线插入主板和从主板插入.如果唯一的希望是这样做,我希望能够管理它.

我尝试进入BIOS并禁用除一个以外的所有USB端口;然后禁用除下一个之外的所有;而下一个;等等,看哪一个是问题所在.但它似乎没有任何影响 – Linux仍然能够很好地识别端口以使用我的USB鼠标和键盘. Linux似乎并不关心BIOS配置是什么.

我发生的事情是,可能有某种方式告诉Linux内核忽略USB1,但这样做并没有真正尝试与USB1交互(因为这似乎导致无法挂起的挂起).但我不知道该怎么做.

解决方法:

部分答案:我不确定您是否只能禁用一个USB端口,但您可以禁用控制器及其所有端口.

您可以使用lspci:lspci -k |列出控制器grep -i usb -A2

例如,我得到:

03:00.0 USB controller: ASMedia Technology Inc. ASM1142 USB 3.1 Host Controller

Subsystem: Micro-Star International Co., Ltd. [MSI] ASM1142 USB 3.1 Host Controller

Kernel driver in use: xhci_hcd

Kernel modules: xhci_pci

意味着PCI端口03:00.0上的USB控制器由xhcp_pci内核模块处理.

现在,我可以要求驱动程序不要使用以下命令管理此控制器:

echo "0000:03:00.0" | sudo tee /sys/bus/pci/drivers/xhci_hcd/unbind

如果您不介意丢失此控制器的其他USB端口,这可能是一个解决方案.

标签:linux,usb

来源: https://codeday.me/bug/0810/1638444.html

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。