mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2024-12-18 06:26:14 +02:00
[package] comgt: move 3g hotplug handling to tty subsystem, fixes race on coldplug (#9211)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@26809 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
parent
8ade1960dd
commit
fc910db123
@ -54,8 +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_DIR) $(1)/etc/hotplug.d/tty
|
||||||
$(INSTALL_DATA) ./files/3g.usb $(1)/etc/hotplug.d/usb/30-3g
|
$(INSTALL_DATA) ./files/3g.usb $(1)/etc/hotplug.d/tty/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
|
||||||
|
@ -22,8 +22,11 @@ find_3g_iface() {
|
|||||||
config_get dev "$cfg" device
|
config_get dev "$cfg" device
|
||||||
|
|
||||||
if [ "${dev##*/}" = "${tty##*/}" ]; then
|
if [ "${dev##*/}" = "${tty##*/}" ]; then
|
||||||
log "Starting interface $cfg for device ${tty##*/}"
|
[ -z "$(ls /var/lock | grep ${dev##*/})" ] && {
|
||||||
( sleep 1; /sbin/ifup "$cfg" ) &
|
log "Starting interface $cfg for device ${dev##*/}"
|
||||||
|
sleep 1
|
||||||
|
/sbin/ifup "$cfg"
|
||||||
|
}
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -31,13 +34,13 @@ find_3g_iface() {
|
|||||||
|
|
||||||
if [ "$ACTION" = add ]; then
|
if [ "$ACTION" = add ]; then
|
||||||
case "$DEVICENAME" in
|
case "$DEVICENAME" in
|
||||||
*-*:*.*) config_load network;;
|
tty*) config_load network;;
|
||||||
*) exit 0;;
|
*) exit 0;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
local tty
|
local tty
|
||||||
for tty in /sys/$DEVPATH/ttyUSB* /sys/$DEVPATH/tty/ttyACM* /sys/$DEVPATH/tty/ttyHS*; do
|
for tty in /dev/ttyUSB* /dev/ttyACM* /dev/ttyHS*; do
|
||||||
[ -d "$tty" ] || continue
|
[ -e "$tty" ] || continue
|
||||||
config_foreach find_3g_iface interface "$tty"
|
config_foreach find_3g_iface interface "$tty"
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
Loading…
Reference in New Issue
Block a user