diff --git a/hwdb.d/60-autosuspend.hwdb b/hwdb.d/60-autosuspend.hwdb index 1b6c1e1c8fc..07f7fa93443 100644 --- a/hwdb.d/60-autosuspend.hwdb +++ b/hwdb.d/60-autosuspend.hwdb @@ -24,8 +24,12 @@ # # Allowed properties are: # ID_AUTOSUSPEND=1 +# ID_AUTOSUSPEND_DELAY_MS=#### # ID_PERSIST=0 # +# ID_AUTOSUSPEND_DELAY_MS adjusts the delay for autosuspend to something +# different than the kernel default of 2000ms. +# # ID_PERSIST=0 allows disabling the kernels USB "persist" feature, which allows # the continued use of devices after a power loss (due to suspend). Disable it # if the device will loose state without a USB power session and the driver @@ -71,13 +75,18 @@ usb:v0627p0001:*QEMU USB Tablet* ID_AUTOSUSPEND=1 ######################################### -# Sierra Wireless +# WWAN ######################################### # Sierra Wireless EM7345 4G LTE modem usb:v1199pA001* ID_AUTOSUSPEND=1 +# Fibocom LG850-GL +usb:v2CB7p0007* + ID_AUTOSUSPEND=1 + ID_AUTOSUSPEND_DELAY_MS=7000 + ######################################### # Wacom ######################################### diff --git a/hwdb.d/parse_hwdb.py b/hwdb.d/parse_hwdb.py index 93179b675c9..7bad559699b 100755 --- a/hwdb.d/parse_hwdb.py +++ b/hwdb.d/parse_hwdb.py @@ -135,6 +135,7 @@ def property_grammar(): ('MOUSE_WHEEL_CLICK_COUNT', INTEGER), ('MOUSE_WHEEL_CLICK_COUNT_HORIZONTAL', INTEGER), ('ID_AUTOSUSPEND', Or((Literal('0'), Literal('1')))), + ('ID_AUTOSUSPEND_DELAY_MS', INTEGER), ('ID_AV_PRODUCTION_CONTROLLER', Or((Literal('0'), Literal('1')))), ('ID_PERSIST', Or((Literal('0'), Literal('1')))), ('ID_PDA', Or((Literal('0'), Literal('1')))), diff --git a/rules.d/60-autosuspend.rules b/rules.d/60-autosuspend.rules index 332d052caa3..ce31a920edb 100644 --- a/rules.d/60-autosuspend.rules +++ b/rules.d/60-autosuspend.rules @@ -15,4 +15,8 @@ ENV{ID_AUTOSUSPEND}=="1", TEST=="power/control", \ ENV{ID_PERSIST}=="0", TEST=="power/persist", \ ATTR{power/persist}="0" +# Set up an autosuspend delay if hwdb say so +ENV{ID_AUTOSUSPEND_DELAY_MS}!="", TEST=="power/control", \ + ATTR{power/autosuspend_delay_ms}="$env{ID_AUTOSUSPEND_DELAY_MS}" + LABEL="autosuspend_end"