diff options
author | Felix Fietkau <nbd@openwrt.org> | 2011-10-27 20:29:10 +0000 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2011-10-27 20:29:10 +0000 |
commit | 3eea31fc6d61395ffafdc17cbb31227a22c38cd3 (patch) | |
tree | d19c21d7c565940416f7b1cba6c064c969ee12b6 /package | |
parent | c932bcee1c575b280ca6d7f661eba3ef7482a0e8 (diff) | |
download | upstream-3eea31fc6d61395ffafdc17cbb31227a22c38cd3.tar.gz upstream-3eea31fc6d61395ffafdc17cbb31227a22c38cd3.tar.bz2 upstream-3eea31fc6d61395ffafdc17cbb31227a22c38cd3.zip |
comgt: delay 3g bringup for sierra wireless cards until the card has locked on to the carrier, this helps with avoiding firmware hangs (thx, chris)
SVN-Revision: 28636
Diffstat (limited to 'package')
-rw-r--r-- | package/comgt/Makefile | 1 | ||||
-rw-r--r-- | package/comgt/files-netifd/3g.sh | 7 |
2 files changed, 8 insertions, 0 deletions
diff --git a/package/comgt/Makefile b/package/comgt/Makefile index c071c8ca19..d853276a45 100644 --- a/package/comgt/Makefile +++ b/package/comgt/Makefile @@ -73,6 +73,7 @@ define Package/comgt/install $(INSTALL_DATA) ./files/setmode.gcom $(1)/etc/gcom/setmode.gcom $(INSTALL_DATA) ./files/getcardinfo.gcom $(1)/etc/gcom/getcardinfo.gcom $(INSTALL_DATA) ./files/getstrength.gcom $(1)/etc/gcom/getstrength.gcom + $(INSTALL_DATA) ./files/getcarrier.gcom $(1)/etc/gcom/getcarrier.gcom $(INSTALL_DIR) $(1)/etc/hotplug.d/tty $(INSTALL_DATA) $(FILES_DIR)/3g.usb $(1)/etc/hotplug.d/tty/30-3g $(Package/comgt/install/$(COMGT_VARIANT)) diff --git a/package/comgt/files-netifd/3g.sh b/package/comgt/files-netifd/3g.sh index cbf8bd1e66..cf96435a85 100644 --- a/package/comgt/files-netifd/3g.sh +++ b/package/comgt/files-netifd/3g.sh @@ -50,6 +50,8 @@ proto_3g_setup() { *) CODE=3;; esac export MODE="AT_OPSYS=${CODE}" + elif echo "$cardinfo" | grep -q "Sierra Wireless"; then + SIERRA=1 fi if [ -n "$pincode" ]; then @@ -60,6 +62,11 @@ proto_3g_setup() { } fi [ -n "$MODE" ] && gcom -d "$device" -s /etc/gcom/setmode.gcom + + # wait for carrier to avoid firmware stability bugs + [ -n "$SIERRA" ] && { + gcom -d "$device" -s /etc/gcom/getcarrier.gcom || return 1 + } ;; esac |