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
This commit is contained in:
Felix Fietkau 2011-10-27 20:29:10 +00:00
parent c932bcee1c
commit 3eea31fc6d
2 changed files with 8 additions and 0 deletions

View file

@ -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))

View file

@ -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