linux命令行启用禁用usb设备

fiy 其他 181

回复

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

    在Linux系统中,要启用或禁用USB设备,可以通过命令行进行操作。以下是几种常用的方法:

    1. 使用udev规则
    在Linux系统中,udev是一个设备管理守护进程,可以通过设置udev规则来控制USB设备的启用和禁用。使用以下步骤来实现:

    a. 首先,需要找到要禁用或启用的USB设备的相关信息。可以使用lsusb命令找到设备的厂商ID和产品ID,例如:
    “`shell
    lsusb
    “`
    这将显示连接到系统的USB设备的列表,找到你要操作的设备并记录下其厂商ID和产品ID。

    b. 创建一个名为”no-usb.rules”(或其他你喜欢的名称)的新文件,这是udev规则文件。

    c. 使用文本编辑器打开该文件,并添加以下内容,将其中的”xxxx”替换为你要操作的USB设备的厂商ID和产品ID:
    “`shell
    # 禁用USB设备
    ACTION==”add”, ATTRS{idVendor}==”xxxx”, ATTRS{idProduct}==”xxxx”, RUN+=”/bin/sh -c ‘echo 0 > /sys/\$env{DEVPATH}/authorized'”

    # 启用USB设备
    ACTION==”add”, ATTRS{idVendor}==”xxxx”, ATTRS{idProduct}==”xxxx”, RUN+=”/bin/sh -c ‘echo 1 > /sys/\$env{DEVPATH}/authorized'”
    “`

    d. 保存并退出文件。

    e. 将该规则文件移动到udev规则存储目录下:
    “`shell
    sudo mv no-usb.rules /etc/udev/rules.d/
    “`

    f. 重新加载udev规则:
    “`shell
    sudo udevadm control –reload-rules
    “`

    g. 断开并重新连接要操作的USB设备,它将根据设置生效。

    2. 使用usbutils工具集
    usbutils是一个用于操作USB设备的工具集,它包含了一些实用的命令来管理USB设备。你可以使用以下命令进行安装:
    “`shell
    sudo apt-get install usbutils
    “`

    一旦安装完成,你可以使用以下命令来禁用或启用USB设备:
    “`shell
    # 禁用USB设备
    sudo usbhidctl -d device_id -m command -s 0

    # 启用USB设备
    sudo usbhidctl -d device_id -m command -s 1
    “`
    其中,device_id是要操作的USB设备的ID,在使用usbhidctl命令之前,你可以使用lsusb命令来获取设备的ID。

    3. 使用usb_modeswitch命令
    如果你需要禁用或启用USB无线网卡或3G/4G模块,可以使用usb_modeswitch命令进行操作。这个命令可以用于模拟插拔USB设备,使其进入或退出该模式。具体步骤如下:

    a. 首先,安装usb_modeswitch:
    “`shell
    sudo apt-get install usb-modeswitch
    “`

    b. 启用设备:
    “`shell
    sudo usb_modeswitch -v vendor_id -p product_id -K
    “`

    其中,vendor_id和product_id是要启用的设备的厂商ID和产品ID,你可以使用lsusb命令来获取。

    c. 禁用设备:
    “`shell
    sudo usb_modeswitch -v vendor_id -p product_id -K
    “`

    4. 使用usbguard工具
    usbguard是一个用于控制和管理USB设备的工具,它可以让你更精细地控制USB设备的访问权限。你可以使用以下链接来了解更多关于usbguard的信息并安装它:https://usbguard.github.io/

    总结:以上是几种在Linux命令行中启用或禁用USB设备的方法。具体使用哪种方法取决于你的需求和使用场景。请按照需要选择合适的方法进行操作。

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

    在Linux命令行下,我们可以使用一些工具和命令来启用或禁用USB设备。下面是几种常见的方法:

    1. 使用lsusb查看设备列表:我们可以使用lsusb命令来列出所有已连接的USB设备。打开终端并输入lsusb命令,它将显示USB设备的详细信息,包括供应商ID和设备ID。通过查看此列表,我们可以找到要启用或禁用的设备。

    2. 使用udev规则:udev是Linux系统中的设备管理子系统。我们可以使用udev规则来启用或禁用特定的USB设备。首先,我们需要找到设备的供应商ID和设备ID,然后创建一个udev规则文件,在该文件中指定要执行的操作。然后将该规则文件保存到/etc/udev/rules.d/目录下,并重新加载udev规则。

    3. 使用usbutils中的usb_control调整设置:usbutils是一组用于处理USB设备的工具。其中包含了usb_control工具,我们可以使用它来启用或禁用USB设备。要使用usb_control,首先需要安装usbutils包。然后,使用usb_control命令来控制设备的状态,如启用、禁用或重置。

    4. 使用usb_modeswitch:usb_modeswitch是一个用于切换USB设备操作模式的工具。有些USB设备在插入时需要切换到特定的模式才能正常工作。我们可以使用usb_modeswitch来切换设备的模式。通过查看lsusb命令的输出,找到设备的供应商ID和设备ID,并将其用于usb_modeswitch的命令。

    5. 使用echo命令调整设备文件的状态:在Linux中,每个USB设备所对应的都会有一个设备文件(通常位于/dev目录下)。我们可以使用echo命令将特定的值写入设备文件来控制设备的状态。具体的值取决于设备的驱动程序和系统配置。

    需要注意的是,在执行任何操作之前,请务必备份重要数据,并谨慎操作。错误的操作可能会导致系统崩溃或数据丢失。

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

    在Linux系统中,可以使用命令行来启用或禁用USB设备。下面是具体的操作步骤:

    1. 查找USB设备的ID:使用lsusb命令可以列出系统中所有连接的USB设备。每个设备都会有一个唯一的ID,类似于xxxx:xxxx的格式。找到要启用或禁用的USB设备的ID。

    2. 禁用USB设备:运行以下命令来禁用USB设备:

    “`
    sudo echo ‘0’ > /sys/bus/usb/devices/usbX/power/autosuspend
    “`
    注意:将”usbX”替换为要禁用的USB设备的ID(例如:usb1)。

    3. 启用USB设备:运行以下命令来启用USB设备:

    “`
    sudo echo ‘auto’ > /sys/bus/usb/devices/usbX/power/autosuspend
    “`
    注意:同样要将”usbX”替换为要启用的USB设备的ID。

    4. 使用udev规则实现持久化:上述方法仅在当前会话中生效。如果希望在系统重启后依然生效,可以使用udev规则。执行以下步骤:

    a. 在/etc/udev/rules.d/目录中创建一个新的规则文件,例如,disable-usb.rules。

    b. 在规则文件中添加以下内容,替换”xxxx:xxxx”为要禁用或启用的USB设备的ID:

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

    “`
    ACTION==”add”, SUBSYSTEM==”usb”, ATTR{idVendor}==”xxxx”, ATTR{idProduct}==”xxxx”, ATTR{authorized}=”1″
    “`

    c. 保存文件并退出。

    d. 重启udev服务以使规则生效:

    “`
    sudo udevadm control –reload-rules && sudo udevadm trigger
    “`

    通过以上步骤,可以在Linux命令行中启用或禁用USB设备。注意,在禁用设备之前,请确保了解设备的ID并确认不会影响系统的正常运行。

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

400-800-1024

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

分享本页
返回顶部