【问题标题】:How to disable a specific usb port permanently in linux?如何在 linux 中永久禁用特定的 USB 端口?
【发布时间】:2014-11-20 19:33:32
【问题描述】:

是否可以永久禁用usb 中的usb 端口?

我已经想出了如何禁用它:

echo -n "0000:00:12.0" > /sys/bus/pci/drivers/ohci_hcd/unbind

但是重启后就启用了。

我已经放置了这个脚本:

#!/bin/sh
case "$1" in
    resume|thaw)
            echo -n "0000:00:12.0" > /sys/bus/pci/drivers/ohci_hcd/unbind
            ;;
esac

/etc/pm/sleep.d/0_disable_usb2

但又一次没有成功。我还认为我可以通过bios 禁用它,但我可以看到我可以禁用整个pci

有什么办法吗?

.. 我的操作系统是Debian 7.7 64bit。我想这样做的原因是我正在尝试将我的系统配置为realtime 功能和我的usb soundcard 与此端口共享相同的IRQ

【问题讨论】:

  • 你有没有尝试过这个unix.stackexchange.com/questions/16476/…
  • @SandyElms 当我执行 'echo suspend >/sys/bus/usb/devices/usb2/power/control' 我得到 'bash: echo: write error: Invalid argument'
  • @gabriel 做lsmod。找到您的 USB 驱动模块并将模块名称添加到 /etc/modprobe.d/blacklist
  • @muradin 如果我的 USB 驱动模块是 ohci_hcd 并且将禁用它,我可以使用我的其他 USB 端口吗?
  • @gabriel 不,你不会!我明白你的意思了。 lsusb | cut -f 2 -d' '的输出是什么

标签: linux bash usb real-time pci


【解决方案1】:

对我而言,usb 安装由服务 udisk2.service 处理,如果您想停止 usb 安装,则在服务下方停止

root@mahasan-Inspiron-5537:~# systemctl start udisks2.service
root@mahasan-Inspiron-5537:~# systemctl disable udisks2.service

【讨论】:

    【解决方案2】:

    首先您应该找到您设备的 USB 号码,只需使用 lsusb

    在 Linux 中,一切都是文件,因此您可以使用文件管理所有硬件。

    正如它描述的Here,如果你的内核> 2.6.38,你应该使用这个关键字:

    echo "0" > "/sys/bus/usb/devices/usb2/power/autosuspend_delay_ms"
    那么:

    echo "auto" > "/sys/bus/usb/devices/usb1/power/control"

    【讨论】:

    • 嘿,这确实有效,我的usbport usb2在重启后被禁用。这就是问题所以我可以将其标记为已解决。但我愿意做的是在 IRQ 16 中只有我的 USB 声卡。现在 usb2 已经消失,但 usb3 出现了。你对此有什么想法吗?
    • 让我们在聊天中继续讨论。
    • 请注意,这实际上并没有禁用 port 本身,而是告诉 设备驱动程序 禁用 设备。我目前有一个问题,内核错误地将一个空端口误认为设备并无休止地尝试与其握手,但这是行不通的,因为在(实际上不可能完成)握手之前尚未分配设备驱动程序。
    猜你喜欢
    • 1970-01-01
    • 2017-11-18
    • 1970-01-01
    • 2022-07-03
    • 2012-08-29
    • 2021-11-07
    • 1970-01-01
    • 2015-01-13
    • 2017-08-24
    相关资源
    最近更新 更多