ASR_BASE

Change-Id: Icf3719cc0afe3eeb3edc7fa80a2eb5199ca9dda1
diff --git a/external/subpack/net/nut/files/nut_serial.hotplug b/external/subpack/net/nut/files/nut_serial.hotplug
new file mode 100644
index 0000000..fa3bafe
--- /dev/null
+++ b/external/subpack/net/nut/files/nut_serial.hotplug
@@ -0,0 +1,34 @@
+#!/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
+}