Как отключить питание USB для мыши, когда я приостанавливаю ноутбук?

Светодиодный свет моей мыши нервничает во сне. Я обычно закрываю записную книжку вечером, и Ubuntu называет pm-suspend . В любом случае, USB-штекер все еще подается с питанием. Я даже мог заряжать свой смартфон. Это плохо для меня по двум причинам. Я должен отключить мою мышь, а блокнот ноутбука [akku] длится меньше. Есть ли способ автоматически отключить мое устройство USB или все USB-устройства, когда ноутбук переходит в режим ожидания?

Как его настроить?

EDIT: как указано в комментариях, я добавляю эту информацию: я использую Lenovo G550.

EDIT: в соответствии с просьбой здесь мой вывод lsusb

 Bus 002 Device 019: ID 1058:25a3 Western Digital Technologies, Inc. Bus 002 Device 017: ID 1b1a:7001 Bus 002 Device 009: ID 2109:2812 VIA Labs, Inc. VL812 Hub Bus 002 Device 008: ID 2109:2812 VIA Labs, Inc. VL812 Hub Bus 002 Device 003: ID 0402:5608 ALi Corp. Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 006 Device 006: ID 046d:c52b Logitech, Inc. Unifying Receiver Bus 006 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 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 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 

EDIT: Я думаю, что эта информация также приводит к ответу.

 root@localhost:/sys/bus/usb/devices# ls -al insgesamt 0 drwxr-xr-x 2 root root 0 Okt 6 10:56 . drwxr-xr-x 4 root root 0 Okt 6 10:56 .. lrwxrwxrwx 1 root root 0 Okt 6 10:56 1-0:1.0 -> ../../../devices/pci0000:00/0000:00:1a.7/usb1/1-0:1.0 lrwxrwxrwx 1 root root 0 Okt 6 10:56 2-0:1.0 -> ../../../devices/pci0000:00/0000:00:1d.7/usb2/2-0:1.0 lrwxrwxrwx 1 root root 0 Okt 6 10:56 2-3 -> ../../../devices/pci0000:00/0000:00:1d.7/usb2/2-3 lrwxrwxrwx 1 root root 0 Okt 6 10:56 2-3:1.0 -> ../../../devices/pci0000:00/0000:00:1d.7/usb2/2-3/2-3:1.0 lrwxrwxrwx 1 root root 0 Okt 6 10:56 2-3:1.1 -> ../../../devices/pci0000:00/0000:00:1d.7/usb2/2-3/2-3:1.1 lrwxrwxrwx 1 root root 0 Okt 6 10:56 2-5 -> ../../../devices/pci0000:00/0000:00:1d.7/usb2/2-5 lrwxrwxrwx 1 root root 0 Okt 6 10:56 2-5.1 -> ../../../devices/pci0000:00/0000:00:1d.7/usb2/2-5/2-5.1 lrwxrwxrwx 1 root root 0 Okt 6 10:56 2-5:1.0 -> ../../../devices/pci0000:00/0000:00:1d.7/usb2/2-5/2-5:1.0 lrwxrwxrwx 1 root root 0 Okt 6 10:56 2-5.1:1.0 -> ../../../devices/pci0000:00/0000:00:1d.7/usb2/2-5/2-5.1/2-5.1:1.0 lrwxrwxrwx 1 root root 0 Okt 6 10:56 2-5.1.2 -> ../../../devices/pci0000:00/0000:00:1d.7/usb2/2-5/2-5.1/2-5.1.2 lrwxrwxrwx 1 root root 0 Okt 6 10:56 2-5.1.2:1.0 -> ../../../devices/pci0000:00/0000:00:1d.7/usb2/2-5/2-5.1/2-5.1.2/2-5.1.2:1.0 lrwxrwxrwx 1 root root 0 Okt 6 10:56 2-5.1.2:1.1 -> ../../../devices/pci0000:00/0000:00:1d.7/usb2/2-5/2-5.1/2-5.1.2/2-5.1.2:1.1 lrwxrwxrwx 1 root root 0 Okt 6 10:56 2-5.2 -> ../../../devices/pci0000:00/0000:00:1d.7/usb2/2-5/2-5.2 lrwxrwxrwx 1 root root 0 Okt 6 10:56 2-5.2:1.0 -> ../../../devices/pci0000:00/0000:00:1d.7/usb2/2-5/2-5.2/2-5.2:1.0 lrwxrwxrwx 1 root root 0 Okt 6 10:56 3-0:1.0 -> ../../../devices/pci0000:00/0000:00:1a.0/usb3/3-0:1.0 lrwxrwxrwx 1 root root 0 Okt 6 10:56 4-0:1.0 -> ../../../devices/pci0000:00/0000:00:1a.1/usb4/4-0:1.0 lrwxrwxrwx 1 root root 0 Okt 6 10:56 5-0:1.0 -> ../../../devices/pci0000:00/0000:00:1a.2/usb5/5-0:1.0 lrwxrwxrwx 1 root root 0 Okt 6 10:56 6-0:1.0 -> ../../../devices/pci0000:00/0000:00:1d.0/usb6/6-0:1.0 lrwxrwxrwx 1 root root 0 Okt 6 10:56 6-1 -> ../../../devices/pci0000:00/0000:00:1d.0/usb6/6-1 lrwxrwxrwx 1 root root 0 Okt 6 10:56 6-1:1.0 -> ../../../devices/pci0000:00/0000:00:1d.0/usb6/6-1/6-1:1.0 lrwxrwxrwx 1 root root 0 Okt 6 10:56 6-1:1.1 -> ../../../devices/pci0000:00/0000:00:1d.0/usb6/6-1/6-1:1.1 lrwxrwxrwx 1 root root 0 Okt 6 10:56 6-1:1.2 -> ../../../devices/pci0000:00/0000:00:1d.0/usb6/6-1/6-1:1.2 lrwxrwxrwx 1 root root 0 Okt 6 10:56 7-0:1.0 -> ../../../devices/pci0000:00/0000:00:1d.1/usb7/7-0:1.0 lrwxrwxrwx 1 root root 0 Okt 6 10:56 8-0:1.0 -> ../../../devices/pci0000:00/0000:00:1d.2/usb8/8-0:1.0 lrwxrwxrwx 1 root root 0 Okt 6 10:56 usb1 -> ../../../devices/pci0000:00/0000:00:1a.7/usb1 lrwxrwxrwx 1 root root 0 Okt 6 10:56 usb2 -> ../../../devices/pci0000:00/0000:00:1d.7/usb2 lrwxrwxrwx 1 root root 0 Okt 6 10:56 usb3 -> ../../../devices/pci0000:00/0000:00:1a.0/usb3 lrwxrwxrwx 1 root root 0 Okt 6 10:56 usb4 -> ../../../devices/pci0000:00/0000:00:1a.1/usb4 lrwxrwxrwx 1 root root 0 Okt 6 10:56 usb5 -> ../../../devices/pci0000:00/0000:00:1a.2/usb5 lrwxrwxrwx 1 root root 0 Okt 6 10:56 usb6 -> ../../../devices/pci0000:00/0000:00:1d.0/usb6 lrwxrwxrwx 1 root root 0 Okt 6 10:56 usb7 -> ../../../devices/pci0000:00/0000:00:1d.1/usb7 lrwxrwxrwx 1 root root 0 Okt 6 10:56 usb8 -> ../../../devices/pci0000:00/0000:00:1d.2/usb8 

РЕДАКТИРОВАТЬ:

 tokam@localhost:~$ lsusb -t /: Bus 08.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M /: Bus 07.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M /: Bus 06.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M |__ Port 1: Dev 2, If 0, Class=Human Interface Device, Driver=usbhid, 12M |__ Port 1: Dev 2, If 1, Class=Human Interface Device, Driver=usbhid, 12M |__ Port 1: Dev 2, If 2, Class=Human Interface Device, Driver=usbhid, 12M /: Bus 05.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M /: Bus 04.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M /: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=uhci_hcd/2p, 12M /: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/6p, 480M |__ Port 3: Dev 3, If 0, Class=Video, Driver=uvcvideo, 480M |__ Port 3: Dev 3, If 1, Class=Video, Driver=uvcvideo, 480M |__ Port 5: Dev 51, If 0, Class=Hub, Driver=hub/4p, 480M |__ Port 1: Dev 52, If 0, Class=Hub, Driver=hub/4p, 480M |__ Port 2: Dev 54, If 0, Class=Human Interface Device, Driver=usbhid, 1.5M |__ Port 2: Dev 54, If 1, Class=Human Interface Device, Driver=usbhid, 1.5M |__ Port 2: Dev 53, If 0, Class=Mass Storage, Driver=usb-storage, 480M /: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/6p, 480M 

Текущий блок преткновения с OP-ссылками, последующие комментарии и предлагаемые ответы – это идентификатор продукта статический 1b1a:7001 но номера шины и устройства продолжают меняться.

Решение

Создайте сценарий (любое имя, которое вы хотите) в каталоге /etc/pm/sleep.d/ и поместите в него следующее:

 #!/bin/bash ZeroBUS=$(lsusb | grep 1b1a:7001 | cut -c 5-7 ) # Strip leading zeros BUS=$(echo $ZeroBUS | sed 's/^0*//') # Build "usbX" usb number USB=usb$BUS case $1 in suspend|suspend_hybrid|hibernate) echo "Powering off: " $USB echo $USB | sudo tee /sys/bus/usb/drivers/usb/unbind ;; resume|thaw) # No need to do anything here, kernel unsuspends USB devices # Show how to power on for interest sake but since device is # powered off the usb number will be blank. echo "Powering on: " $USB echo $USB | sudo tee /sys/bus/usb/drivers/usb/bind ;; esac 

Отметьте файл как исполняемый файл с помощью sudo chmod +x file_name где «имя_файла» – это имя, которое вы выбрали.

Объяснение

Это решение отключает весь USB-концентратор, который в моем случае означает телефон, беспроводную мышь, беспроводную клавиатуру и т. Д. При вызове сценария из командной строки необходимо ввести пароль sudo. Надеемся, что при вызове из systemd sudo полномочия наследуются. Я не мог проверить это, потому что у меня нет проводной мыши. Поэтому для sudo-полномочий может потребоваться дополнительное уточнение.

Питание не физически отключается, когда BIOS обеспечивает постоянный источник питания 5 В, а устройствам на шине говорят, что они отключены. В моем случае беспроводная клавиатура и мышка перестали работать и вынуждены были прибегать к клавиатуре ноутбука и сенсорной панели, чтобы снова включить питание.

Вы можете проверить это вручную, вызвав скрипт и передав параметры «suspend». Передача параметра «резюме» ничего не делает, потому что устройство выключено, у него нет идентификатора устройства, чтобы включить его.

Найдите шину и устройство № вашей мыши, выпустив команду lsusb (с ней и без нее) вы хотите тот, который есть только там, где он подключен. Запишите цифры. В вашем случае они кажутся 6 и 6

sudo cp /etc/pm/sleep.d/novatel_3g_suspend /etc/pm/sleep.d/mouse_suspend команду sudo cp /etc/pm/sleep.d/novatel_3g_suspend /etc/pm/sleep.d/mouse_suspend (мы должны это сделать, потому что gedit больше не имеет опции Save As при запуске как суперпользователя, который я могу найти.)

gksu gedit /etc/pm/sleep.d/mouse_suspend команду gksu gedit /etc/pm/sleep.d/mouse_suspend Измените номера шины и устройства в соответствии с теми, которые вы приняли ранее. Сохраните полученный файл. Он будет выполнен, когда вы приостановите работу своего ноутбука.

В вашем случае вы должны изменить BUS = X и DEVICE = Y на номера шины и устройства, соответствующие указанной мыши. Это будет работать, пока вы не переместите устройство на другой порт, и в этом случае вам придется снова найти устройство и соответствующим образом настроить файл.

 BUS=X DEVICE=Y if [ ! -x /sys/bus/usb/devices/${BUS}-${DEVICE}/power/level ]; then exit 0 fi case $1 in suspend|suspend_hybrid|hibernate) echo suspend > /sys/bus/usb/devices/${BUS}-${DEVICE}/power/level ;; resume|thaw) # No need to do anything here, kernel unsuspends USB devices : ;; esac , BUS=X DEVICE=Y if [ ! -x /sys/bus/usb/devices/${BUS}-${DEVICE}/power/level ]; then exit 0 fi case $1 in suspend|suspend_hybrid|hibernate) echo suspend > /sys/bus/usb/devices/${BUS}-${DEVICE}/power/level ;; resume|thaw) # No need to do anything here, kernel unsuspends USB devices : ;; esac 

Замечания в файле (строки, начинающиеся с #) не имеют значения и могут быть безопасно проигнорированы.

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

Редактировать на основе комментариев и расширения вопроса:

Похоже, что это информация, которую вам нужно продолжить: Bus 006 Device 006: ID 046d:c52b Logitech, Inc. Unifying Receiver