如何切断 USB 适配器的电源

如何切断 USB 适配器的电源

华为 E3372 LTE USB 棒是否已解锁,我在加密狗中插入了一张 SIM 卡。关键是要完全关闭设备才能更改 SIM 卡的外部 IP。当我拔下并再次插入加密狗时,它会获得一个新的 IP,例如:我有 37.29.232.115(我使用https://wtfismyip.com/text),当手动断开 USB 端口并重新连接时,我有一个新的 IP 37.29.241.237。我可以从命令行执行此操作吗?我尝试过 usb_modeswitch、uhubctl、echo suspend > /sys/bus/usb/devices/xx/power/level 和很多东西,但我从未切断过加密狗的电源。

这是我尝试过的一些命令。我还尝试在配置文件中添加一些行,以便集线器能够识别,但从未成功。 sudo uhubctl -a off -p 2 -l 3-4 No compatible smart hubs detected at location 3-4! Run with -h to get usage info. There were permission problems while accessing USB. To fix this, run this tool as root using 'sudo uhubctl', or add one or more udev rules like below to file '/etc/udev/rules.d/52-usb.rules': SUBSYSTEM=="usb", ATTR{idVendor}=="2001", MODE="0666" then run 'sudo udevadm trigger --attr-match=subsystem=usb

当我执行 lsusb -t 时

luis@xx-xx-xx-3:/sys/bus/usb/devices$ lsusb -t
/:  Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 5000M
/:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 480M
    |__ Port 2: Dev 3, If 1, Class=Human Interface Device, Driver=usbhid, 1.5M
    |__ Port 2: Dev 3, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M
    |__ Port 4: Dev 17, If 0, Class=Communications, Driver=cdc_ether, 480M
    |__ Port 4: Dev 17, If 1, Class=CDC Data, Driver=cdc_ether, 480M
/:  Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 10000M
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/10p, 480M
    |__ Port 4: Dev 12, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M

我知道是总线 03。端口 4。但是当我进入目录并执行 ls 时,我会在文件夹里面得到很多文件夹,如下所示:

luis@xx-xx-xx-3:/sys/bus/usb/devices/3-4$ ls
3-4:1.0 bConfigurationValue bMaxPacketSize0 配置驱动程序 ltm_capable 产品速度版本
3-4:1.1 bDeviceClass bMaxPower 描述符 ep_00 制造商怪癖子系统
授权 bDeviceProtocol bNumConfigurations dev firmware_node maxchild 可移动 tx_lanes
避免_reset_quirk bDeviceSubClass bNumInterfaces devnum idProduct 端口删除 uevent
bcdDevice bmAttributes busnum devpath idVendor 电源 rx_lanes urbnum

我不知道为什么会出现这么多文件夹,这是什么意思?如果我回去,我也会看到相同的文件夹:

luis@xx-xx-xx-3:/sys/bus/usb/devices$ ls
1-0:1.0  1-4  1-4:1.0  2-0:1.0  3-0:1.0  3-2  3-2:1.0  3-2:1.1  3-4  3-4:1.0  3-4:1.1  4-0:1.0  usb1  usb2  usb3  usb4

我也尝试了 usbreset,它工作正常,但不会切断电源。你能帮助我吗?我使用 Ubuntu 20.04.3 LTS

答案1

我明白了,绑定和解除绑定 USB 后,电不会切断,但外部 IP 会发生变化,sudo echo 'bus-port' > /sys/bus/usb/drivers/usb/unbind sudo echo 'bus-port' > /sys/bus/usb/drivers/usb/bind

这样就可以改变 IP ^^ 。谢谢大家。

相关内容