Linux在命令行里关闭USB主口

fiy 其他 459

回复

共3条回复 我来回复
  • fiy的头像
    fiy
    Worktile&PingCode市场小伙伴
    评论

    要在Linux命令行里关闭USB主口,可以使用以下步骤:

    1. 打开终端:按下Ctrl + Alt + T快捷键,或者通过应用程序菜单中的终端启动终端。

    2. 获取超级用户权限:在终端中输入以下命令并按下Enter键,输入您的密码以获取超级用户权限。

    “`
    sudo su
    “`

    3. 列出所有可用的USB设备:在终端中输入以下命令并按下Enter键。

    “`
    lsusb
    “`

    这将列出所有已连接的USB设备。请注意相关设备的ID号,以便后续步骤使用。

    4. 卸载相关USB模块:在终端中输入以下命令并按下Enter键,将相关USB模块卸载。

    “`
    modprobe -r
    “`

    将 “” 替换为您想要关闭的USB设备的内核模块名称。例如,如果要关闭USB主控制器,则可能是 “xhci_hcd”。

    如果您不确定要卸载哪个模块,请谨慎操作,以免无意中关闭不相关的设备。

    5. 关闭USB主口:在终端中输入以下命令并按下Enter键,将USB主控制器禁用。

    “`
    echo “0” > /sys/bus/pci/drivers///unbind
    “`

    将 “” 替换为USB驱动程序的名称,例如 “xhci_hcd”。将 “” 替换为要关闭的USB设备的地址。

    如果您不知道驱动程序或设备地址,请小心操作,以免关闭不相关的设备。

    6. 再次列出USB设备:在终端中输入以下命令并按下Enter键,检查USB设备是否已成功关闭。

    “`
    lsusb
    “`

    如果您不再看到要关闭的USB设备,请表示关闭成功。

    请注意,这些步骤需要超级用户权限,因此要小心操作以避免意外关闭不相关的设备。

    2年前 0条评论
  • 不及物动词的头像
    不及物动词
    这个人很懒,什么都没有留下~
    评论

    在Linux系统中,有多种方法可以使用命令行关闭USB主口。

    1. 使用udev规则:udev是一个用于设备管理的Linux子系统,可以通过创建udev规则来禁用特定的设备。首先,使用lsusb命令查看要禁用的USB设备的厂商和产品ID。然后,使用以下命令创建一个udev规则文件(例如,/etc/udev/rules.d/99-disable-usb.rules):

    “`
    sudo nano /etc/udev/rules.d/99-disable-usb.rules
    “`

    在文件中添加以下内容:

    “`
    ACTION==”add”, SUBSYSTEMS==”usb”, ATTRS{idVendor}==”xxxx”, ATTRS{idProduct}==”xxxx”, ATTR{authorized}=”0″
    “`

    将”xxxx”替换为要禁用的USB设备的实际厂商和产品ID。保存并关闭文件。然后,重新加载udev规则:

    “`
    sudo udevadm control –reload-rules
    “`

    2. 使用usbutils工具:usbutils是一个用于操作USB设备的工具包。首先,安装usbutils:

    “`
    sudo apt-get install usbutils
    “`

    然后,使用lsusb命令列出所有连接到系统的USB设备:

    “`
    lsusb
    “`

    找到要禁用的USB设备并记录其总线号和设备号。使用以下命令卸载USB设备:

    “`
    echo ‘1’ | sudo tee /sys/bus/usb/devices//authorized
    “`

    将”“替换为USB设备的总线号,将”“替换为设备号。这将禁用指定的USB设备。

    3. 使用USBIP工具:USBIP是一个可以共享和访问USB设备的工具。首先,安装USBIP软件包:

    “`
    sudo apt-get install usbip
    “`

    然后,使用以下命令列出所有连接到系统的USB设备:

    “`
    usbip list -l
    “`

    找到要禁用的USB设备的虚拟化端口号。使用以下命令卸载USB设备:

    “`
    sudo usbip unbind –busid=
    “`

    将”“替换为USB设备的虚拟化端口号。这将禁用指定的USB设备。

    4. 使用usb_modeswitch工具:usb_modeswitch是一个用于管理USB设备模式的工具。首先,安装usb_modeswitch:

    “`
    sudo apt-get install usb-modeswitch
    “`

    然后,使用以下命令列出所有连接到系统的USB设备:

    “`
    usb_modeswitch -l
    “`

    找到要禁用的USB设备的厂商和产品ID。使用以下命令切换USB设备的模式:

    “`
    sudo usb_modeswitch -K -v -p “`

    将”“替换为USB设备的厂商ID,将”“替换为产品ID。这将禁用指定的USB设备。

    5. 使用rmmod命令:如果USB设备使用了相关的内核模块,则可以使用rmmod命令关闭USB主口。首先,使用lsmod命令列出所有已加载的内核模块:

    “`
    lsmod
    “`

    找到与USB设备相关的内核模块并记录其名称。然后,使用以下命令卸载内核模块:

    “`
    sudo rmmod
    “`

    将”“替换为USB设备相关的内核模块名称。这将禁用指定的USB设备。

    请注意,禁用USB设备可能会影响系统的功能和稳定性。在禁用USB设备之前,请确保了解其影响,并在必要时备份重要数据。

    2年前 0条评论
  • worktile的头像
    worktile
    Worktile官方账号
    评论

    关闭USB主控制器可以通过一些命令和操作来完成。下面是一个可能用到的方法示例:

    步骤1:确定USB控制器
    首先,需要确定哪个USB控制器需要关闭。可以使用lsusb命令来列出已连接的USB设备和控制器。在命令行中输入以下命令:
    “`
    lsusb
    “`
    该命令将显示所有连接到系统的USB设备列表,其中包括USB控制器的信息。请记下相应的USB设备ID,它通常是由格式“xxxx:xxxx”表示的。

    步骤2:卸载相关驱动
    关闭USB主控制器通常需要卸载与其相关的驱动。为了确定使用哪个驱动程序,可以使用以下命令:
    “`
    lsmod | grep usb
    “`
    该命令将显示与USB相关的驱动程序列表。找到与之前记下的USB设备ID相关的驱动,以及usbcore和usbhid等常见USB驱动。

    步骤3:卸载驱动程序
    使用rmmod命令卸载USB驱动程序。在命令行中输入以下命令:
    “`
    sudo rmmod
    “`
    替换为要卸载的驱动程序的名称。对于usbcore和usbhid等常见驱动,可以一次卸载多个驱动程序。例如,可以输入以下命令来卸载常见驱动程序:
    “`
    sudo rmmod usbcore usbhid
    “`
    请注意,在卸载usbcore驱动程序之后,所有的USB设备可能会被禁用。这包括键盘和鼠标等输入设备,因此在执行此操作之前,请确保您可以使用其他输入设备。

    步骤4:禁用USB控制器
    使用echo命令将“0”写入相应的USB控制器文件来禁用它。在命令行中输入以下命令:
    “`
    sudo su
    echo ‘0’ > /sys/bus/usb/devices/usbX/power/autosuspend
    “`
    将“usbX”替换为之前记下的USB设备ID中相应的“X”值。

    请注意,这个方法仅适用于支持“autosuspend”功能的USB控制器。如果USB控制器不支持“autosuspend”功能,您可能需要采取其他措施来关闭它。

    步骤5:检查效果
    关闭USB主控制器后,可以使用以下命令来验证它的状态:
    “`
    cat /sys/bus/usb/devices/usbX/power/autosuspend
    “`
    将“usbX”替换为相应的USB设备ID。如果显示的值为“0”,则表示USB控制器已成功关闭。

    请注意,由于关闭USB主控制器可能会导致系统上的一些设备无法正常工作,因此在执行此操作之前,请确保您了解可能的后果,并有其他可行的解决方案。

    2年前 0条评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部