mirror of
https://gitlab.com/mobian1/eg25-manager.git
synced 2025-08-29 07:12:08 +02:00
udev: allow different attribute values for the community firmware
When using the community-maintained firmware, some attributes need to be set with different values than what works best with the stock firmware: this is the case of the `power/control` attribute which should be set to "on". Similarly, on the PPP `power/persist` should be set to "1". This commit reworks the udev rules so we can differentiate between firmwares and host devices.
This commit is contained in:
@@ -1,4 +1,22 @@
|
||||
ACTION=="add", SUBSYSTEM=="usb", DRIVERS=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="2c7c", ATTRS{idProduct}=="0125", ATTR{power/control}="auto"
|
||||
ACTION=="add", SUBSYSTEM=="usb", DRIVERS=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="2c7c", ATTRS{idProduct}=="0125", ATTR{power/autosuspend_delay_ms}="3000"
|
||||
ACTION=="add", SUBSYSTEM=="usb", DRIVERS=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="2c7c", ATTRS{idProduct}=="0125", ATTR{power/wakeup}="enabled"
|
||||
ACTION=="add", SUBSYSTEM=="usb", DRIVERS=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="2c7c", ATTRS{idProduct}=="0125", ATTR{power/persist}="0"
|
||||
ACTION!="add", GOTO="eg25_end"
|
||||
SUBSYSTEM!="usb", GOTO="eg25_end"
|
||||
DRIVER!="usb", GOTO="eg25_end"
|
||||
ENV{DEVTYPE}!="usb_device", GOTO="eg25_end"
|
||||
|
||||
# Default attributes values
|
||||
ATTRS{idVendor}=="2c7c", ATTRS{idProduct}=="0125", ATTR{power/control}="auto"
|
||||
ATTRS{idVendor}=="2c7c", ATTRS{idProduct}=="0125", ATTR{power/autosuspend_delay_ms}="3000"
|
||||
ATTRS{idVendor}=="2c7c", ATTRS{idProduct}=="0125", ATTR{power/wakeup}="enabled"
|
||||
ATTRS{idVendor}=="2c7c", ATTRS{idProduct}=="0125", ATTR{power/persist}="0"
|
||||
|
||||
# If running the stock firmware, stop processing here
|
||||
ATTRS{serial}!="community_fw", GOTO="eg25_end"
|
||||
|
||||
# power/control needs to be "on" for the community-maintained firmware
|
||||
ATTRS{idVendor}=="2c7c", ATTRS{idProduct}=="0125", ATTR{power/control}="on"
|
||||
|
||||
# Special trick for the PinePhone Pro: set power/persist to 1 *only* with the community FW
|
||||
# We can identify the PPP by looking for the string "pinephone-pro" in the device tree "compatible" property
|
||||
ATTRS{idVendor}=="2c7c", ATTRS{idProduct}=="0125", PROGRAM=="/bin/grep pine64,pinephone-pro /proc/device-tree/compatible", ATTR{power/persist}="1"
|
||||
|
||||
LABEL="eg25_end"
|
||||
|
Reference in New Issue
Block a user