Disable usb autosuspend for keyboard and mouse.

USB auto suspend seems to only happen when the devices are plugged in at boot (which generally means when my laptop is connected to the dock before boot) but it is very annoying because some keypresses get lost and my mouse does not work unless I click first.
This commit is contained in:
Tom Alexander 2023-08-16 15:10:50 -04:00
parent 3f734cbfcc
commit fcf32657c3
Signed by: talexander
GPG Key ID: D3A179C9A53C0EDE
10 changed files with 69 additions and 0 deletions

@ -20,6 +20,7 @@
- build - build
- sound - sound
- graphics - graphics
- power_management
- gpg - gpg
- fonts - fonts
- alacritty - alacritty

@ -7,6 +7,7 @@
- bind # dig - bind # dig
- man-db - man-db
- uutils-coreutils - uutils-coreutils
- usbutils # for lsusb
state: present state: present
- name: Start pkgfile update service - name: Start pkgfile update service

@ -0,0 +1,8 @@
# blacklist for usb autosuspend
# 1038:1832 steel series mouse
# 308f:0011 k type keyboard
ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="1038", ATTR{idProduct}=="1832", GOTO="power_usb_rules_end"
ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="308f", ATTR{idProduct}=="0011", GOTO="power_usb_rules_end"
ACTION=="add", SUBSYSTEM=="usb", TEST=="power/control", ATTR{power/control}="auto"
LABEL="power_usb_rules_end"

@ -0,0 +1,15 @@
- import_tasks: tasks/freebsd.yaml
when: 'os_flavor == "freebsd"'
- import_tasks: tasks/linux.yaml
when: 'os_flavor == "linux"'
- include_tasks:
file: tasks/peruser.yaml
apply:
become: yes
become_user: "{{ initialize_user }}"
when: users is defined
loop: "{{ users | dict2items | community.general.json_query('[?value.initialize==`true`].key') }}"
loop_control:
loop_var: initialize_user

@ -0,0 +1,5 @@
# - name: Install packages
# package:
# name:
# - foo
# state: present

@ -0,0 +1,9 @@
- name: Install udev configuration
copy:
src: "files/{{ item }}_rulesd.conf"
dest: "/etc/udev/rules.d/{{ item }}.rules"
mode: 0644
owner: root
group: wheel
loop:
- dont_sleep_usb

@ -0,0 +1 @@
- import_tasks: tasks/common.yaml

@ -0,0 +1,29 @@
- include_role:
name: per_user
# - name: Create directories
# file:
# name: "{{ account_homedir.stdout }}/{{ item }}"
# state: directory
# mode: 0700
# owner: "{{ account_name.stdout }}"
# group: "{{ group_name.stdout }}"
# loop:
# - ".config/foo"
# - name: Copy files
# copy:
# src: "files/{{ item.src }}"
# dest: "{{ account_homedir.stdout }}/{{ item.dest }}"
# mode: 0600
# owner: "{{ account_name.stdout }}"
# group: "{{ group_name.stdout }}"
# loop:
# - src: foo.conf
# dest: .config/foo/foo.conf
- import_tasks: tasks/peruser_freebsd.yaml
when: 'os_flavor == "freebsd"'
- import_tasks: tasks/peruser_linux.yaml
when: 'os_flavor == "linux"'