Можно ли отключить определенный порт USB, чтобы он не принимал какое-либо устройство?

У меня много портов на моем компьютере. Я хотел бы отключить один из них, поэтому, когда я подключаю свой телефон к этому порту, он только заряжается. Я действительно хочу, чтобы мой телефон работал с моим компьютером в некоторых случаях, поэтому я надеюсь, что другие порты не будут затронуты.

Я просто хотел бы знать, насколько это возможно.

12
задан 3 March 2016 в 23:11

2 ответа

Во-первых, выполненный 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. 

В выводе найдите, что номер устройства порта отключен. Например, диск Seagate в примере имеет Device 009 - это - его номер устройства. Затем идентификатор будет usb[device number] - такой как usb9

Затем отключите пробуждение USB (сделайте это только однажды):

Обязательно замените X в usbX с номером устройства.

echo disabled | sudo tee /sys/bus/usb/devices/usbX/power/wakeup 

Затем выключите его:

echo suspend | sudo tee /sys/bus/usb/devices/usbX/power/level

Отмените это:

echo enabled | sudo tee /sys/bus/usb/devices/usbX/power/wakeup
echo on | sudo tee /sys/bus/usb/devices/usbX/power/level
3
ответ дан 4 March 2016 в 09:11
  • 1
    эти grep команда является unneded, можно поместить непосредственно lxc list container_name | egrep -o "[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+" с тем же результатом – Yonsy Solis 21 February 2018 в 04:45

Вот разъем, и играйте (буквально) опцию:

charge only usb dongle

Это - хорошая идея, если Вы хотите избежать всплывающих сообщений и файловых браузеров каждый раз, когда Вы включаете свой телефон для зарядки только.

Это является также более надежным, чем подход программного обеспечения, потому что программное обеспечение, которое выключает порт для данных, может быть инвертировано программным обеспечением, которое снова включает его. Или это могло бы быть повторно инициализировано во время, приостанавливают/возобновляют или некоторый другой процесс, который Вы не предвидели.

0
ответ дан 23 November 2019 в 03:46

Другие вопросы по тегам:

Похожие вопросы: