nut: Fix undetected UPS hardware
Leading zeroes left in ProductId results in some UPS hardware not being matched by the hotplug script lead to bad permissions and driver not starting. Closes: #6966 Signed-off-by: Daniel F. Dickinson <cshored@thecshore.com>
This commit is contained in:
parent
ecd3dc4d7f
commit
daa974cff0
2 changed files with 12 additions and 11 deletions
|
@ -85,7 +85,7 @@ define Package/nut-server/install
|
||||||
$(CP) $(PKG_INSTALL_DIR)/etc/hotplug/usb/libhid.usermap $(PKG_BUILD_DIR)/30-libhid-ups.middle
|
$(CP) $(PKG_INSTALL_DIR)/etc/hotplug/usb/libhid.usermap $(PKG_BUILD_DIR)/30-libhid-ups.middle
|
||||||
$(SED) '/^$$$$/d' \
|
$(SED) '/^$$$$/d' \
|
||||||
-e '/^#/d' \
|
-e '/^#/d' \
|
||||||
-E -e 's:^[^ ][^ ]* *0x0003 *0x0{0,3}([^ ][^ ]*) *0x{0,3}*([^ ][^ ]*).*:\1/\2/* | \\:' \
|
-E -e 's:^[^ ][^ ]* *0x0003 *0x0{0,3}([^ ][^ ]*) *0x0{0,3}*([^ ][^ ]*).*:\1/\2/* | \\:' \
|
||||||
$(PKG_BUILD_DIR)/30-libhid-ups.middle
|
$(PKG_BUILD_DIR)/30-libhid-ups.middle
|
||||||
tail -n+2 $(PKG_BUILD_DIR)/30-libhid-ups.middle >>$(1)/etc/hotplug.d/usb/30-libhid-ups
|
tail -n+2 $(PKG_BUILD_DIR)/30-libhid-ups.middle >>$(1)/etc/hotplug.d/usb/30-libhid-ups
|
||||||
cat ./files/30-libhid-ups.tail >>$(1)/etc/hotplug.d/usb/30-libhid-ups
|
cat ./files/30-libhid-ups.tail >>$(1)/etc/hotplug.d/usb/30-libhid-ups
|
||||||
|
|
|
@ -15,22 +15,23 @@ nut_driver_config() {
|
||||||
chown ${runas:-root}:$(id -gn "${runas:-root}") /dev/"$DEVNAME"
|
chown ${runas:-root}:$(id -gn "${runas:-root}") /dev/"$DEVNAME"
|
||||||
}
|
}
|
||||||
|
|
||||||
if [ "$(printf "%04x" 0x"$pvendid")" = "$vendorid" ] && \
|
if [ "$nomatch" = "1" ]; then
|
||||||
[ "$(printf "%04x" 0x"$pprodid")" = "$productid" ]; then
|
|
||||||
[ "$ACTION" = "add" ] && {
|
|
||||||
/etc/init.d/nut-server start "$cfg"
|
|
||||||
}
|
|
||||||
[ "$ACTION" = "remove" ] && {
|
|
||||||
/etc/init.d/nut-server stop "$cfg"
|
|
||||||
}
|
|
||||||
found=1
|
|
||||||
elif [ "$nomatch" = "1" ]; then
|
|
||||||
[ "$ACTION" = "add" ] && {
|
[ "$ACTION" = "add" ] && {
|
||||||
/etc/init.d/nut-server start "$cfg"
|
/etc/init.d/nut-server start "$cfg"
|
||||||
}
|
}
|
||||||
[ "$ACTION" = "remove" ] && {
|
[ "$ACTION" = "remove" ] && {
|
||||||
/etc/init.d/nut-server stop "$cfg"
|
/etc/init.d/nut-server stop "$cfg"
|
||||||
}
|
}
|
||||||
|
elif [ "$(printf "%04x" 0x"$pvendid")" = "$vendorid" ] && \
|
||||||
|
[ "$(printf "%04x" 0x"$pprodid")" = "$productid" ]; then
|
||||||
|
[ "$ACTION" = "add" ] && {
|
||||||
|
/etc/init.d/nut-server start "$cfg"
|
||||||
|
/etc/init.d/nut-server reload upsd
|
||||||
|
}
|
||||||
|
[ "$ACTION" = "remove" ] && {
|
||||||
|
/etc/init.d/nut-server stop "$cfg"
|
||||||
|
}
|
||||||
|
found=1
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue