| #!/bin/sh |
| |
| nut_serial() { |
| local cfg="$cfg" |
| local runas enable_usb_serial port |
| config_get_bool enable_usb_serial "$cfg" enable_usb_serial 0 |
| config_get port "$cfg" port |
| config_get runas "$cfg" runas "nut" |
| |
| [ -z "$runas" ] && config_get runas upsd runas "nut" |
| |
| [ "$enable_usb_serial" -eq 1 ] && { |
| # If port is specified only change tty's matching port |
| if [ -n "$port" ] && [ "$port" != /dev/"$DEVNAME" ]; then |
| return 0 |
| fi |
| [ -n "$runas" ] && chgrp "$(id -gn "${runas}")" /dev/"$DEVNAME" |
| chmod g+rw /dev/"$DEVNAME" |
| } |
| } |
| |
| nut_on_hotplug_add() { |
| . "${IPKG_INSTROOT}"/lib/functions.sh |
| |
| config load nut_server |
| config_foreach nut_serial driver |
| } |
| |
| [ "$ACTION" = "add" ] && [ -n "$DEVNAME" ] && { |
| # On add of a serial port with name ttyUSB* |
| [ -z "${DEVNAME%ttyUSB*}" ] && nut_on_hutplug_add |
| # On add of a serial port with name ttyAMA* |
| [ -z "${DEVNAME%ttyAMA*}" ] && nut_on_hutplug_add |
| } |