开启/关闭USB端口


18

是否可以使用Ubuntu中的终端打开/关闭特定的USB端口?

lsusb 显示以下结果:

Bus 001 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 2232:1020
Bus 002 Device 009: ID 0bc2:a013 Seagate RSS LLC
Bus 002 Device 003: ID 0a5c:219c Broadcom Corp.

希捷是我的外部硬盘驱动器。我可以在终端上关闭电源吗?

我尝试使用Linux控制USB电源(开/关)。但是我对应该代替什么感到困惑usbX

Answers:


7

前面的所有答案都涉及USB挂起机制,即“逻辑断电”,它们永远不会从USB端口物理切断VBUS + 5V。

所描述的只有少数集线器实际上可以削减VBUS 这里

hubpower工具可以做到这一点(如果集线器支持的话)。


7

遇到相同问题后,我发现应该以不同的方式输入命令,以便“ sudo”可以适当地应用权限。

使用“ tee”命令。

echo 0 | sudo tee /sys/bus/usb/devices/usb2/power/autosuspend_delay_ms

将对“ tee”命令应用根权限,该命令将0写入指定文件,替换当前存在的任何文件。要追加,请使用带有-a选项的tee命令。

有关信息,请参见 tee


2
tee命令还将具有打印到屏幕上的副作用。如果需要,dd of=/sys/bus/...将仅写入文件,而无其他地方。
布兰登·罗兹

4

其实usbX不过是USB端口号,其中X表示像数12等等...例如,usb1以及usb2用于端口12。通常,笔记本电脑可能具有三个或四个带有USB 2.0和USB 3.0端口的USB端口。

在Ubuntu中usb1usb2... usbX是指向的链接/sys/devices/pci000:00/*。要很好地理解它,请运行以下命令:

ls -l /sys/bus/usb/devices/

因此usbXusb1当您要启用/禁用USB Port Number 1(或参考Stack Exchange)时,启用/禁用USB端口将被替换为:


编辑:感谢Stefan Denchev告诉使用sudo将某些文本回显到文件的正确方法。(也请检查他的评论。)您现在不应收到拒绝权限消息。

sudo sh -c "echo '0' > /sys/bus/usb/devices/usb1/power/autosuspend_delay_ms"
sudo sh -c "echo 'auto' > /sys/bus/usb/devices/usb1/power/control"

查看lsusb结果后,看起来您的Seagate设备已连接Port No. 2,因此您需要禁用usb2。那么命令将是:

sudo sh -c "echo '0' > /sys/bus/usb/devices/usb2/power/autosuspend_delay_ms"
sudo sh -c "echo 'auto' > /sys/bus/usb/devices/usb2/power/control"

谢谢。如果我尝试echo "0" > "/sys/bus/usb/devices/usb2/power/autosuspend_delay_ms"输出是bash: /sys/bus/usb/devices/usb2/power/autosuspend_delay_ms: Permission denied
curious_coder

然后尝试sudo看看会发生什么..
Saurav库马尔

试过了 还是一样的错误。
curious_coder 2013年

实际上,我没有尝试在Linux中启用/禁用任何端口。.我的座右铭是让您了解usbX问题。如果您对从中获取的命令非常清楚,StackOverflow则只能尝试一下。现在无论如何我也想知道哪个是启用/禁用端口的实际命令。当它对我有用时,我会尽快回复您。告诉然后您拔下设备的电源,然后重试。或尝试在给出的第一个答案stackoverflow
Saurav Kumar 2013年

1
sudo sh -c "echo 'on' >> /sys/bus/usb/devices/usb4/power/control"
UIlrvnd

1

udisksctlpower-off标志,建议您将其与 unmount

来自man udisksctl

power-off
           Arranges for the drive to be safely removed and powered off. On the
           OS side this includes ensuring that no process is using the drive,
           then requesting that in-flight buffers and caches are committed to
           stable storage. The exact steps for powering off the drive depends
           on the drive itself and the interconnect used. For drives connected
           through USB, the effect is that the USB device will be deconfigured
           followed by disabling the upstream hub port it is connected to

演示版

这是我卸载USB Jumpdrive,然后关闭电源

testdir:$ lsusb
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 009: ID 154b:007a PNY 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

testdir:$ lsblk                                                                
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 111.8G  0 disk 
└─sda1   8:1    0 111.8G  0 part /
sdb      8:16   1    30G  0 disk 
└─sdb1   8:17   1    30G  0 part /media/xieerqi/6A32C4555E1C5B4D
sr0     11:0    1  1024M  0 rom  

testdir:$ udisksctl unmount -b /dev/sdb1 && udisksctl power-off -b /dev/sdb1
Unmounted /dev/sdb1.

testdir:$ lsusb
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

testdir:$ lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 111.8G  0 disk 
└─sda1   8:1    0 111.8G  0 part /
sr0     11:0    1  1024M  0 rom  

testdir:$ 
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.