summaryrefslogtreecommitdiff
path: root/bigclown-gateway
diff options
context:
space:
mode:
authorKarel Kočí <cynerd@email.cz>2018-09-12 23:59:58 +0200
committerKarel Kočí <cynerd@email.cz>2018-09-12 23:59:58 +0200
commit5b0c2421d6ca596154d03b8994680e58e52846c9 (patch)
tree69b7be810456276e7dcc51d4d47ac92a93afa95f /bigclown-gateway
parentb801bd3cc5dec9df8a8742d3f6d6f59a46ae5e9f (diff)
downloadopenwrt-personal-pkgs-5b0c2421d6ca596154d03b8994680e58e52846c9.tar.gz
openwrt-personal-pkgs-5b0c2421d6ca596154d03b8994680e58e52846c9.tar.bz2
openwrt-personal-pkgs-5b0c2421d6ca596154d03b8994680e58e52846c9.zip
bigclown-gateway: replace udev with hotplug
Diffstat (limited to 'bigclown-gateway')
-rw-r--r--bigclown-gateway/Makefile6
-rw-r--r--bigclown-gateway/files/hotplug32
-rw-r--r--bigclown-gateway/files/udev1
3 files changed, 35 insertions, 4 deletions
diff --git a/bigclown-gateway/Makefile b/bigclown-gateway/Makefile
index 4c41fc5..17bcbae 100644
--- a/bigclown-gateway/Makefile
+++ b/bigclown-gateway/Makefile
@@ -1,7 +1,7 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=bigclown-gateway
-PKG_RELEASE:=4
+PKG_RELEASE:=5
PKG_SOURCE_URL:=https://github.com/bigclownlabs/bch-gateway.git
PKG_MAINTAINER:=Karel Kočí <cynerd@email.cz>
@@ -21,8 +21,8 @@ define Py3Package/$(PKG_NAME)/install
$(INSTALL_CONF) ./files/config $(1)/etc/config/bigclown-gateway
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_BIN) ./files/init $(1)/etc/init.d/bigclown-gateway
- $(INSTALL_DIR) $(1)/lib/udev/rules.d/
- $(INSTALL_DATA) ./files/udev $(1)/lib/udev/rules.d/58-bigclown-usb-dongle.rules
+ $(INSTALL_DIR) $(1)/etc/hotplug.d/usb
+ $(INSTALL_DATA) ./files/hotplug $(1)/etc/hotplug.d/usb/50-bigclown-usb-dongle
endef
define Package/$(PKG_NAME)/conffiles
diff --git a/bigclown-gateway/files/hotplug b/bigclown-gateway/files/hotplug
new file mode 100644
index 0000000..fb1ef59
--- /dev/null
+++ b/bigclown-gateway/files/hotplug
@@ -0,0 +1,32 @@
+#!/bin/sh
+DEVNAME="$(ls "/sys/$DEVPATH" | grep "^ttyUSB[0-9]*$")"
+[ -n "$DEVNAME" ] || exit 0
+[ "$ID_VENDOR" = "0403" ] || exit 0
+[ "$ID_MODEL" = "6015" ] || exit 0
+echo "$ID_SERIAL" | grep -q ".*bc-usb-dongle.*" || exit 0
+
+action_add() {
+ local id=0
+ while [ -e "/dev/bcUD$id" ]; do
+ id=$(expr $id + 1)
+ done
+ ln -sf "/dev/$DEVNAME" "/dev/bcUD$id"
+}
+
+action_remove() {
+ local id=0
+ while [ "$(readlink "/dev/bcUD$id")" = "$DEVNAME" ]; do
+ [ -e "/dev/bcUD$id" ] || return 0
+ id=$(expr $id + 1)
+ done
+ rm "/dev/bcUD$id"
+}
+
+case "$ACTION" in
+ add)
+ action_add
+ ;;
+ remove)
+ action_remove
+ ;;
+esac
diff --git a/bigclown-gateway/files/udev b/bigclown-gateway/files/udev
deleted file mode 100644
index 5409c56..0000000
--- a/bigclown-gateway/files/udev
+++ /dev/null
@@ -1 +0,0 @@
-SUBSYSTEMS=="usb", ACTION=="add", KERNEL=="ttyUSB*", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6015", ATTRS{serial}=="bc-usb-dongle*", SYMLINK+="bcUD%n"