diff options
author | Benjamin Berg <bberg@redhat.com> | 2022-03-28 15:43:16 +0200 |
---|---|---|
committer | Benjamin Berg <bberg@redhat.com> | 2022-04-01 11:47:17 +0200 |
commit | 90c25b4fd16564137bba3ca60e5091d0d75b817e (patch) | |
tree | 135c8fe2e72e547263f4cc2bd4f94dae8c9d53a8 /rules | |
parent | 888b1afc6dad2a8c87217618c1a4a07f9db67bed (diff) | |
download | upower-90c25b4fd16564137bba3ca60e5091d0d75b817e.tar.gz |
rules: Update udev rules and migrate to use hwdb
This makes rule matching more efficient. We just need to copy the
variables over into the hiddev device so that there is no need to change
the C code to match the parent USB device. That said, the change in C
wouldn't be that hard either.
See https://github.com/networkupstools/nut/pull/1342
Diffstat (limited to 'rules')
-rw-r--r-- | rules/95-upower-hid.hwdb | 200 | ||||
-rw-r--r-- | rules/95-upower-hid.rules | 143 | ||||
-rw-r--r-- | rules/meson.build | 9 |
3 files changed, 211 insertions, 141 deletions
diff --git a/rules/95-upower-hid.hwdb b/rules/95-upower-hid.hwdb new file mode 100644 index 0000000..a4eff0f --- /dev/null +++ b/rules/95-upower-hid.hwdb @@ -0,0 +1,200 @@ +############################################################################################################## +# Uninterruptible Power Supplies with USB HID interfaces +# +# This file was automatically generated by NUT: +# https://github.com/networkupstools/nut/ +# +# To keep up to date, monitor upstream NUT +# https://github.com/networkupstools/nut/commits/master/scripts/upower/95-upower-hid.hwdb +# or checkout the NUT repository and call 'tools/nut-usbinfo.pl' + +# Hewlett Packard +usb:v03F0p0001* +usb:v03F0p1F06* +usb:v03F0p1F08* +usb:v03F0p1F09* +usb:v03F0p1F0A* +usb:v03F0p1FE0* +usb:v03F0p1FE1* +usb:v03F0p1FE2* +usb:v03F0p1FE3* +usb:v03F0p1FE5* +usb:v03F0p1FE6* +usb:v03F0p1FE7* +usb:v03F0p1FE8* + UPOWER_BATTERY_TYPE=ups + UPOWER_VENDOR=Hewlett Packard + +# Eaton +usb:v0463p0001* +usb:v0463pFFFF* + UPOWER_BATTERY_TYPE=ups + UPOWER_VENDOR=Eaton + +# Dell +usb:v047CpFFFF* + UPOWER_BATTERY_TYPE=ups + UPOWER_VENDOR=Dell + +# ST Microelectronics +usb:v0483pA113* + UPOWER_BATTERY_TYPE=ups + UPOWER_VENDOR=ST Microelectronics + +# IBM +usb:v04B3p0001* + UPOWER_BATTERY_TYPE=ups + UPOWER_VENDOR=IBM + +# Minibox +usb:v04D8pD004* +usb:v04D8pD005* + UPOWER_BATTERY_TYPE=ups + UPOWER_VENDOR=Minibox + +# Belkin +usb:v050Dp0375* +usb:v050Dp0551* +usb:v050Dp0750* +usb:v050Dp0751* +usb:v050Dp0900* +usb:v050Dp0910* +usb:v050Dp0912* +usb:v050Dp0980* +usb:v050Dp0F51* +usb:v050Dp1100* + UPOWER_BATTERY_TYPE=ups + UPOWER_VENDOR=Belkin + +# APC +usb:v051Dp0000* +usb:v051Dp0002* +usb:v051Dp0003* + UPOWER_BATTERY_TYPE=ups + UPOWER_VENDOR=APC + +# Powerware +usb:v0592p0004* + UPOWER_BATTERY_TYPE=ups + UPOWER_VENDOR=Powerware + +# Delta UPS +usb:v05DDp041B* +usb:v05DDpA011* + UPOWER_BATTERY_TYPE=ups + UPOWER_VENDOR=Delta UPS + +# Phoenixtec Power Co., Ltd +usb:v06DApFFFF* + UPOWER_BATTERY_TYPE=ups + UPOWER_VENDOR=Phoenixtec Power Co., Ltd + +# iDowell +usb:v075Dp0300* + UPOWER_BATTERY_TYPE=ups + UPOWER_VENDOR=iDowell + +# Cyber Power Systems +usb:v0764p0005* +usb:v0764p0501* +usb:v0764p0601* + UPOWER_BATTERY_TYPE=ups + UPOWER_VENDOR=Cyber Power Systems + +# TrippLite +usb:v09AEp1003* +usb:v09AEp1007* +usb:v09AEp1008* +usb:v09AEp1009* +usb:v09AEp1010* +usb:v09AEp1330* +usb:v09AEp2005* +usb:v09AEp2007* +usb:v09AEp2008* +usb:v09AEp2009* +usb:v09AEp2010* +usb:v09AEp2011* +usb:v09AEp2012* +usb:v09AEp2013* +usb:v09AEp2014* +usb:v09AEp3008* +usb:v09AEp3009* +usb:v09AEp3010* +usb:v09AEp3011* +usb:v09AEp3012* +usb:v09AEp3013* +usb:v09AEp3014* +usb:v09AEp3015* +usb:v09AEp3016* +usb:v09AEp3024* +usb:v09AEp4001* +usb:v09AEp4002* +usb:v09AEp4003* +usb:v09AEp4004* +usb:v09AEp4005* +usb:v09AEp4006* +usb:v09AEp4007* +usb:v09AEp4008* + UPOWER_BATTERY_TYPE=ups + UPOWER_VENDOR=TrippLite + +# PowerCOM +usb:v0D9Fp0001* +usb:v0D9Fp0004* +usb:v0D9Fp00A2* +usb:v0D9Fp00A3* +usb:v0D9Fp00A4* +usb:v0D9Fp00A5* +usb:v0D9Fp00A6* + UPOWER_BATTERY_TYPE=ups + UPOWER_VENDOR=PowerCOM + +# Liebert +usb:v10AFp0001* +usb:v10AFp0004* +usb:v10AFp0008* + UPOWER_BATTERY_TYPE=ups + UPOWER_VENDOR=Liebert + +# Legrand +usb:v1CB0p0032* +usb:v1CB0p0038* + UPOWER_BATTERY_TYPE=ups + UPOWER_VENDOR=Legrand + +# Arduino +usb:v2341p0036* +usb:v2341p8036* + UPOWER_BATTERY_TYPE=ups + UPOWER_VENDOR=Arduino + +# Arduino +usb:v2A03p0036* +usb:v2A03p0040* +usb:v2A03p8036* +usb:v2A03p8040* + UPOWER_BATTERY_TYPE=ups + UPOWER_VENDOR=Arduino + +# AEG +usb:v2B2DpFFFF* + UPOWER_BATTERY_TYPE=ups + UPOWER_VENDOR=AEG + +# Ever +usb:v2E51pFFFF* + UPOWER_BATTERY_TYPE=ups + UPOWER_VENDOR=Ever + +# Salicru +usb:v2E66p0201* +usb:v2E66p0202* +usb:v2E66p0203* +usb:v2E66p0300* + UPOWER_BATTERY_TYPE=ups + UPOWER_VENDOR=Salicru + +# Powervar +usb:v4234p0002* + UPOWER_BATTERY_TYPE=ups + UPOWER_VENDOR=Powervar diff --git a/rules/95-upower-hid.rules b/rules/95-upower-hid.rules index e064ef7..c6e2d06 100644 --- a/rules/95-upower-hid.rules +++ b/rules/95-upower-hid.rules @@ -1,141 +1,2 @@ -############################################################################################################## -# Uninterruptible Power Supplies with USB HID interfaces -# -# This file was automatically generated by NUT: -# https://github.com/networkupstools/nut/ -# -# To keep up to date, monitor upstream NUT -# https://github.com/networkupstools/nut/commits/master/scripts/upower/95-upower-hid.rules -# or checkout the NUT repository and call 'tools/nut-usbinfo.pl' - -# newer hiddev are part of the usbmisc class -SUBSYSTEM=="usbmisc", GOTO="up_hid_chkdev" -# only support USB, else ignore -SUBSYSTEM!="usb", GOTO="up_hid_end" - -# if usbraw device, ignore -LABEL="up_hid_chkdev" -KERNEL!="hiddev*", GOTO="up_hid_end" - -# if an interface, ignore -ENV{DEVTYPE}=="usb_interface", GOTO="up_hid_end" - -ATTRS{idVendor}=="03f0", ENV{UPOWER_VENDOR}="Hewlett Packard" -ATTRS{idVendor}=="0463", ENV{UPOWER_VENDOR}="Eaton" -ATTRS{idVendor}=="047c", ENV{UPOWER_VENDOR}="Dell" -ATTRS{idVendor}=="04d8", ENV{UPOWER_VENDOR}="Minibox" -ATTRS{idVendor}=="050d", ENV{UPOWER_VENDOR}="Belkin" -ATTRS{idVendor}=="051d", ENV{UPOWER_VENDOR}="APC" -ATTRS{idVendor}=="0592", ENV{UPOWER_VENDOR}="Powerware" -ATTRS{idVendor}=="06da", ENV{UPOWER_VENDOR}="Phoenixtec Power Co., Ltd" -ATTRS{idVendor}=="075d", ENV{UPOWER_VENDOR}="iDowell" -ATTRS{idVendor}=="0764", ENV{UPOWER_VENDOR}="Cyber Power Systems" -ATTRS{idVendor}=="09ae", ENV{UPOWER_VENDOR}="TrippLite" -ATTRS{idVendor}=="0d9f", ENV{UPOWER_VENDOR}="PowerCOM" -ATTRS{idVendor}=="10af", ENV{UPOWER_VENDOR}="Liebert" - -# Hewlett Packard -ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="0001", ENV{UPOWER_BATTERY_TYPE}="ups" -ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="1f06", ENV{UPOWER_BATTERY_TYPE}="ups" -ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="1f08", ENV{UPOWER_BATTERY_TYPE}="ups" -ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="1f09", ENV{UPOWER_BATTERY_TYPE}="ups" -ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="1f0a", ENV{UPOWER_BATTERY_TYPE}="ups" -ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="1fe0", ENV{UPOWER_BATTERY_TYPE}="ups" -ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="1fe1", ENV{UPOWER_BATTERY_TYPE}="ups" -ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="1fe2", ENV{UPOWER_BATTERY_TYPE}="ups" -ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="1fe3", ENV{UPOWER_BATTERY_TYPE}="ups" -ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="1fe5", ENV{UPOWER_BATTERY_TYPE}="ups" -ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="1fe6", ENV{UPOWER_BATTERY_TYPE}="ups" -ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="1fe7", ENV{UPOWER_BATTERY_TYPE}="ups" -ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="1fe8", ENV{UPOWER_BATTERY_TYPE}="ups" - -# Eaton -ATTRS{idVendor}=="0463", ATTRS{idProduct}=="0001", ENV{UPOWER_BATTERY_TYPE}="ups" -ATTRS{idVendor}=="0463", ATTRS{idProduct}=="ffff", ENV{UPOWER_BATTERY_TYPE}="ups" - -# Dell -ATTRS{idVendor}=="047c", ATTRS{idProduct}=="ffff", ENV{UPOWER_BATTERY_TYPE}="ups" - -# Minibox -ATTRS{idVendor}=="04d8", ATTRS{idProduct}=="d004", ENV{UPOWER_BATTERY_TYPE}="ups" -ATTRS{idVendor}=="04d8", ATTRS{idProduct}=="d005", ENV{UPOWER_BATTERY_TYPE}="ups" - -# Belkin -ATTRS{idVendor}=="050d", ATTRS{idProduct}=="0375", ENV{UPOWER_BATTERY_TYPE}="ups" -ATTRS{idVendor}=="050d", ATTRS{idProduct}=="0551", ENV{UPOWER_BATTERY_TYPE}="ups" -ATTRS{idVendor}=="050d", ATTRS{idProduct}=="0750", ENV{UPOWER_BATTERY_TYPE}="ups" -ATTRS{idVendor}=="050d", ATTRS{idProduct}=="0751", ENV{UPOWER_BATTERY_TYPE}="ups" -ATTRS{idVendor}=="050d", ATTRS{idProduct}=="0900", ENV{UPOWER_BATTERY_TYPE}="ups" -ATTRS{idVendor}=="050d", ATTRS{idProduct}=="0910", ENV{UPOWER_BATTERY_TYPE}="ups" -ATTRS{idVendor}=="050d", ATTRS{idProduct}=="0912", ENV{UPOWER_BATTERY_TYPE}="ups" -ATTRS{idVendor}=="050d", ATTRS{idProduct}=="0980", ENV{UPOWER_BATTERY_TYPE}="ups" -ATTRS{idVendor}=="050d", ATTRS{idProduct}=="0f51", ENV{UPOWER_BATTERY_TYPE}="ups" -ATTRS{idVendor}=="050d", ATTRS{idProduct}=="1100", ENV{UPOWER_BATTERY_TYPE}="ups" - -# APC -ATTRS{idVendor}=="051d", ATTRS{idProduct}=="0000", ENV{UPOWER_BATTERY_TYPE}="ups" -ATTRS{idVendor}=="051d", ATTRS{idProduct}=="0002", ENV{UPOWER_BATTERY_TYPE}="ups" -ATTRS{idVendor}=="051d", ATTRS{idProduct}=="0003", ENV{UPOWER_BATTERY_TYPE}="ups" - -# Powerware -ATTRS{idVendor}=="0592", ATTRS{idProduct}=="0004", ENV{UPOWER_BATTERY_TYPE}="ups" - -# Phoenixtec Power Co., Ltd -ATTRS{idVendor}=="06da", ATTRS{idProduct}=="ffff", ENV{UPOWER_BATTERY_TYPE}="ups" - -# iDowell -ATTRS{idVendor}=="075d", ATTRS{idProduct}=="0300", ENV{UPOWER_BATTERY_TYPE}="ups" - -# Cyber Power Systems -ATTRS{idVendor}=="0764", ATTRS{idProduct}=="0005", ENV{UPOWER_BATTERY_TYPE}="ups" -ATTRS{idVendor}=="0764", ATTRS{idProduct}=="0501", ENV{UPOWER_BATTERY_TYPE}="ups" -ATTRS{idVendor}=="0764", ATTRS{idProduct}=="0601", ENV{UPOWER_BATTERY_TYPE}="ups" - -# TrippLite -ATTRS{idVendor}=="09ae", ATTRS{idProduct}=="1003", ENV{UPOWER_BATTERY_TYPE}="ups" -ATTRS{idVendor}=="09ae", ATTRS{idProduct}=="1007", ENV{UPOWER_BATTERY_TYPE}="ups" -ATTRS{idVendor}=="09ae", ATTRS{idProduct}=="1008", ENV{UPOWER_BATTERY_TYPE}="ups" -ATTRS{idVendor}=="09ae", ATTRS{idProduct}=="1009", ENV{UPOWER_BATTERY_TYPE}="ups" -ATTRS{idVendor}=="09ae", ATTRS{idProduct}=="1010", ENV{UPOWER_BATTERY_TYPE}="ups" -ATTRS{idVendor}=="09ae", ATTRS{idProduct}=="2005", ENV{UPOWER_BATTERY_TYPE}="ups" -ATTRS{idVendor}=="09ae", ATTRS{idProduct}=="2007", ENV{UPOWER_BATTERY_TYPE}="ups" -ATTRS{idVendor}=="09ae", ATTRS{idProduct}=="2008", ENV{UPOWER_BATTERY_TYPE}="ups" -ATTRS{idVendor}=="09ae", ATTRS{idProduct}=="2009", ENV{UPOWER_BATTERY_TYPE}="ups" -ATTRS{idVendor}=="09ae", ATTRS{idProduct}=="2010", ENV{UPOWER_BATTERY_TYPE}="ups" -ATTRS{idVendor}=="09ae", ATTRS{idProduct}=="2011", ENV{UPOWER_BATTERY_TYPE}="ups" -ATTRS{idVendor}=="09ae", ATTRS{idProduct}=="2012", ENV{UPOWER_BATTERY_TYPE}="ups" -ATTRS{idVendor}=="09ae", ATTRS{idProduct}=="2013", ENV{UPOWER_BATTERY_TYPE}="ups" -ATTRS{idVendor}=="09ae", ATTRS{idProduct}=="2014", ENV{UPOWER_BATTERY_TYPE}="ups" -ATTRS{idVendor}=="09ae", ATTRS{idProduct}=="3008", ENV{UPOWER_BATTERY_TYPE}="ups" -ATTRS{idVendor}=="09ae", ATTRS{idProduct}=="3009", ENV{UPOWER_BATTERY_TYPE}="ups" -ATTRS{idVendor}=="09ae", ATTRS{idProduct}=="3010", ENV{UPOWER_BATTERY_TYPE}="ups" -ATTRS{idVendor}=="09ae", ATTRS{idProduct}=="3011", ENV{UPOWER_BATTERY_TYPE}="ups" -ATTRS{idVendor}=="09ae", ATTRS{idProduct}=="3012", ENV{UPOWER_BATTERY_TYPE}="ups" -ATTRS{idVendor}=="09ae", ATTRS{idProduct}=="3013", ENV{UPOWER_BATTERY_TYPE}="ups" -ATTRS{idVendor}=="09ae", ATTRS{idProduct}=="3014", ENV{UPOWER_BATTERY_TYPE}="ups" -ATTRS{idVendor}=="09ae", ATTRS{idProduct}=="3015", ENV{UPOWER_BATTERY_TYPE}="ups" -ATTRS{idVendor}=="09ae", ATTRS{idProduct}=="3016", ENV{UPOWER_BATTERY_TYPE}="ups" -ATTRS{idVendor}=="09ae", ATTRS{idProduct}=="4001", ENV{UPOWER_BATTERY_TYPE}="ups" -ATTRS{idVendor}=="09ae", ATTRS{idProduct}=="4002", ENV{UPOWER_BATTERY_TYPE}="ups" -ATTRS{idVendor}=="09ae", ATTRS{idProduct}=="4003", ENV{UPOWER_BATTERY_TYPE}="ups" -ATTRS{idVendor}=="09ae", ATTRS{idProduct}=="4004", ENV{UPOWER_BATTERY_TYPE}="ups" -ATTRS{idVendor}=="09ae", ATTRS{idProduct}=="4005", ENV{UPOWER_BATTERY_TYPE}="ups" -ATTRS{idVendor}=="09ae", ATTRS{idProduct}=="4006", ENV{UPOWER_BATTERY_TYPE}="ups" -ATTRS{idVendor}=="09ae", ATTRS{idProduct}=="4007", ENV{UPOWER_BATTERY_TYPE}="ups" -ATTRS{idVendor}=="09ae", ATTRS{idProduct}=="4008", ENV{UPOWER_BATTERY_TYPE}="ups" - -# PowerCOM -ATTRS{idVendor}=="0d9f", ATTRS{idProduct}=="0001", ENV{UPOWER_BATTERY_TYPE}="ups" -ATTRS{idVendor}=="0d9f", ATTRS{idProduct}=="0004", ENV{UPOWER_BATTERY_TYPE}="ups" -ATTRS{idVendor}=="0d9f", ATTRS{idProduct}=="00a2", ENV{UPOWER_BATTERY_TYPE}="ups" -ATTRS{idVendor}=="0d9f", ATTRS{idProduct}=="00a3", ENV{UPOWER_BATTERY_TYPE}="ups" -ATTRS{idVendor}=="0d9f", ATTRS{idProduct}=="00a4", ENV{UPOWER_BATTERY_TYPE}="ups" -ATTRS{idVendor}=="0d9f", ATTRS{idProduct}=="00a5", ENV{UPOWER_BATTERY_TYPE}="ups" -ATTRS{idVendor}=="0d9f", ATTRS{idProduct}=="00a6", ENV{UPOWER_BATTERY_TYPE}="ups" - -# Liebert -ATTRS{idVendor}=="10af", ATTRS{idProduct}=="0001", ENV{UPOWER_BATTERY_TYPE}="ups" -ATTRS{idVendor}=="10af", ATTRS{idProduct}=="0004", ENV{UPOWER_BATTERY_TYPE}="ups" -ATTRS{idVendor}=="10af", ATTRS{idProduct}=="0008", ENV{UPOWER_BATTERY_TYPE}="ups" - -LABEL="up_hid_end" +# Copy some attributes from the USB device to the hiddev device +SUBSYSTEM=="usbmisc", SUBSYSTEMS=="usb", KERNEL=="hiddev*", IMPORT{parent}="UPOWER_*", IMPORT{parent}="ID_VENDOR", IMPORT{parent}="ID_PRODUCT" diff --git a/rules/meson.build b/rules/meson.build index b3e6fe5..63c344c 100644 --- a/rules/meson.build +++ b/rules/meson.build @@ -3,7 +3,16 @@ rules = [ '95-upower-hid.rules', ] +hwdb = [ + '95-upower-hid.hwdb', +] + install_data( rules, install_dir: udevrulesdir, ) + +install_data( + hwdb, + install_dir: udevhwdbdir, +) |