Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/bvobart/usb-wakeup-control
This simple utility enables or prevents specific USB devices from waking up the system upon suspend.
https://github.com/bvobart/usb-wakeup-control
control linux power systemd usb wakeup
Last synced: 2 days ago
JSON representation
This simple utility enables or prevents specific USB devices from waking up the system upon suspend.
- Host: GitHub
- URL: https://github.com/bvobart/usb-wakeup-control
- Owner: bvobart
- License: mit
- Created: 2024-02-23T23:00:40.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2024-02-23T23:04:49.000Z (9 months ago)
- Last Synced: 2024-02-24T00:24:29.567Z (9 months ago)
- Topics: control, linux, power, systemd, usb, wakeup
- Language: Shell
- Homepage:
- Size: 5.86 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: ReadMe.md
- License: LICENSE
Awesome Lists containing this project
README
# `usb-wakeup-control`
This simple utility enables or prevents specific USB devices from waking up the system upon suspend. Pretty useful if your Linux laptop or PC refuses to go to sleep because some USB device (like my Logitech G915 wireless keyboard receiver) is keeping it awake. Also useful to prevent unintended mouse movements from accidentally waking up your laptop.
## Usage
| Command | Description |
| ---------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `./usb-wakeup-control.sh install` | install this script as `/usr/local/bin/usb-wakeup-control` and add a systemd service to `/etc/systemd/system`.
_NOTE: This is required for the other commands to persist after rebooting or unplugging and replugging._ |
| `./usb-wakeup-control.sh detect` | list all connected USB devices and their current wakeup status |
| `./usb-wakeup-control.sh disable vendorId productId` | disable wakeup for a specific USB device |
| `./usb-wakeup-control.sh enable vendorId productId` | enable wakeup for a specific USB device |Vendor ID and product ID can either be found using `usb-wakeup-control detect` or `lsusb`.
For example, if `lsusb` shows:
```
Bus 001 Device 007: ID 046d:c52b Logitech, Inc. Unifying Receiver
```then the vendor ID is `046d` and the product ID is `c52b`.
The `disable` and `enable` commands will store the given USB device vendor ID and product ID in `/etc/usb-wakeup-control/disabled` or `/etc/usb-wakeup-control/enabled`, respectively, to ensure persistance after rebooting or unplugging and replugging.
You could create these files manually, but it's recommended to use the `disable` and `enable` commands to ensure the correct format.### Examples
- `usb-wakeup-control detect`
- `usb-wakeup-control disable 046d c52b`
- `usb-wakeup-control enable 046d c52b`> **Note:** `disable` and `enable` require `sudo` (root privileges) to write to `/sys/bus/usb/devices/*/power/wakeup`
`install` also requires root privileges to write to `/usr/local/bin` and `/etc/systemd/system`## Thanks
To [this StackExchange answer](https://askubuntu.com/a/1359890) that inspired me to write this simple tool to make the process described in the answer easier for daily use and multiple devices.