diff --git a/package/comgt/Makefile b/package/comgt/Makefile
index adaaa4fe6462c842a36a3d3082e033e5a5c51052..ef0164ea35249c3db6428337c1e003c1bd0122c6 100644
--- a/package/comgt/Makefile
+++ b/package/comgt/Makefile
@@ -1,5 +1,5 @@
 #
-# Copyright (C) 2006-2011 OpenWrt.org
+# Copyright (C) 2006-2012 OpenWrt.org
 #
 # This is free software, licensed under the GNU General Public License v2.
 # See /LICENSE for more information.
@@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=comgt
 PKG_VERSION:=0.32
-PKG_RELEASE:=9
+PKG_RELEASE:=19
 
 PKG_SOURCE:=$(PKG_NAME).$(PKG_VERSION).tgz
 PKG_SOURCE_URL:=@SF/comgt
diff --git a/package/comgt/files/3g.sh b/package/comgt/files/3g.sh
index b5da54c44d51a8e24bc791152ccb6819173f55a1..9e44d0665055a6da2481e36dd94da5093611508a 100644
--- a/package/comgt/files/3g.sh
+++ b/package/comgt/files/3g.sh
@@ -52,6 +52,13 @@ proto_3g_setup() {
 				export MODE="AT_OPSYS=${CODE}"
 			elif echo "$cardinfo" | grep -q "Sierra Wireless"; then
 				SIERRA=1
+			elif echo "$cardinfo" | grep -q huawei; then
+				case "$service" in
+					umts_only) CODE="14,2";;
+					gprs_only) CODE="13,1";;
+					*) CODE="2,2";;
+				esac
+				export MODE="AT^SYSCFG=${CODE},3FFFFFFF,2,4"
 			fi
 
 			if [ -n "$pincode" ]; then