comgt: add usb hotplug handler to bring up 3g ifaces on boot or when the dongle is attached
SVN-Revision: 22061
This commit is contained in:
parent
3e425b2cbc
commit
eccba67e0a
2 changed files with 46 additions and 1 deletions
|
@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=comgt
|
PKG_NAME:=comgt
|
||||||
PKG_VERSION:=0.32
|
PKG_VERSION:=0.32
|
||||||
PKG_RELEASE:=3
|
PKG_RELEASE:=4
|
||||||
|
|
||||||
PKG_SOURCE:=$(PKG_NAME).$(PKG_VERSION).tgz
|
PKG_SOURCE:=$(PKG_NAME).$(PKG_VERSION).tgz
|
||||||
PKG_SOURCE_URL:=@SF/comgt
|
PKG_SOURCE_URL:=@SF/comgt
|
||||||
|
@ -54,6 +54,8 @@ define Package/comgt/install
|
||||||
$(INSTALL_DATA) ./files/3g.button $(1)/etc/hotplug.d/button/05-3g
|
$(INSTALL_DATA) ./files/3g.button $(1)/etc/hotplug.d/button/05-3g
|
||||||
$(INSTALL_DIR) $(1)/etc/hotplug.d/iface
|
$(INSTALL_DIR) $(1)/etc/hotplug.d/iface
|
||||||
$(INSTALL_DATA) ./files/3g.iface $(1)/etc/hotplug.d/iface/05-3g
|
$(INSTALL_DATA) ./files/3g.iface $(1)/etc/hotplug.d/iface/05-3g
|
||||||
|
$(INSTALL_DIR) $(1)/etc/hotplug.d/usb
|
||||||
|
$(INSTALL_DATA) ./files/3g.usb $(1)/etc/hotplug.d/usb/30-3g
|
||||||
$(INSTALL_DIR) $(1)/etc/gcom
|
$(INSTALL_DIR) $(1)/etc/gcom
|
||||||
$(INSTALL_DATA) ./files/setpin.gcom $(1)/etc/gcom/setpin.gcom
|
$(INSTALL_DATA) ./files/setpin.gcom $(1)/etc/gcom/setpin.gcom
|
||||||
$(INSTALL_DATA) ./files/setmode.gcom $(1)/etc/gcom/setmode.gcom
|
$(INSTALL_DATA) ./files/setmode.gcom $(1)/etc/gcom/setmode.gcom
|
||||||
|
|
43
package/comgt/files/3g.usb
Normal file
43
package/comgt/files/3g.usb
Normal file
|
@ -0,0 +1,43 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
. /etc/functions.sh
|
||||||
|
|
||||||
|
log() {
|
||||||
|
logger -t 3g-hotplug "$@"
|
||||||
|
}
|
||||||
|
|
||||||
|
find_3g_iface() {
|
||||||
|
local cfg="$1"
|
||||||
|
local tty="$2"
|
||||||
|
|
||||||
|
local proto
|
||||||
|
config_get proto "$cfg" proto
|
||||||
|
|
||||||
|
[ "$proto" = 3g ] && {
|
||||||
|
local auto
|
||||||
|
config_get_bool auto "$cfg" auto 1
|
||||||
|
[ "$auto" = 1 ] || return 0
|
||||||
|
|
||||||
|
local dev
|
||||||
|
config_get dev "$cfg" device
|
||||||
|
|
||||||
|
if [ "${dev##*/}" = "${tty##*/}" ]; then
|
||||||
|
log "Starting interface $cfg for device ${tty##*/}"
|
||||||
|
( sleep 1; /sbin/ifup "$cfg" ) &
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if [ "$ACTION" = add ]; then
|
||||||
|
case "$DEVICENAME" in
|
||||||
|
*-*:*.*) config_load network;;
|
||||||
|
*) exit 0;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
local tty
|
||||||
|
for tty in /sys/$DEVPATH/ttyUSB*; do
|
||||||
|
[ -d "$tty" ] || break
|
||||||
|
config_foreach find_3g_iface interface "$tty"
|
||||||
|
done
|
||||||
|
fi
|
Loading…
Reference in a new issue