summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--openwrt/package/Config.in1
-rw-r--r--openwrt/package/Makefile1
-rw-r--r--openwrt/package/gcom/Config.in11
-rw-r--r--openwrt/package/gcom/Makefile49
-rw-r--r--openwrt/package/gcom/files/getcardinfo.gcom14
-rw-r--r--openwrt/package/gcom/files/getstrength.gcom14
-rw-r--r--openwrt/package/gcom/files/setmode.gcom26
-rw-r--r--openwrt/package/gcom/files/setpin.gcom55
-rw-r--r--openwrt/package/gcom/ipkg/gcom.control4
-rw-r--r--openwrt/package/gcom/patches/001-Makefile.patch32
10 files changed, 207 insertions, 0 deletions
diff --git a/openwrt/package/Config.in b/openwrt/package/Config.in
index 8863994bd8..43fab9712e 100644
--- a/openwrt/package/Config.in
+++ b/openwrt/package/Config.in
@@ -300,6 +300,7 @@ endmenu
menu "Utilities"
source "package/bc/Config.in"
+source "package/gcom/Config.in"
source "package/gdbserver/Config.in"
source "package/hdparm/Config.in"
source "package/pcmcia-cs/Config.in" # pcmcia-utils
diff --git a/openwrt/package/Makefile b/openwrt/package/Makefile
index 89e0bab9ea..c36d30f510 100644
--- a/openwrt/package/Makefile
+++ b/openwrt/package/Makefile
@@ -59,6 +59,7 @@ package-$(BR2_PACKAGE_FREERADIUS) += freeradius
package-$(BR2_COMPILE_FREETYPE) += freetype
package-$(BR2_PACKAGE_FRICKIN) += frickin
package-$(BR2_COMPILE_FUSE) += fuse
+package-$(BR2_PACKAGE_GCOM) += gcom
package-$(BR2_PACKAGE_GDBSERVER) += gdbserver
package-$(BR2_COMPILE_GLIB) += glib
package-$(BR2_PACKAGE_GMEDIASERVER) += gmediaserver
diff --git a/openwrt/package/gcom/Config.in b/openwrt/package/gcom/Config.in
new file mode 100644
index 0000000000..2fedc14a34
--- /dev/null
+++ b/openwrt/package/gcom/Config.in
@@ -0,0 +1,11 @@
+config BR2_PACKAGE_GCOM
+ prompt "gcom.............................. Option/Vodafone 3G/GPRS control tool"
+ tristate
+ default m
+ help
+ Option GlobeTrotter GPRS/EDGE/3G/HSDPA and Vodafone 3G/GPRS datacard control tool
+
+ gcom is a scripting language interpreter useful for establishing communications
+ on serial lines and through PCMCIA modems as well as GPRS and 3G datacards.
+
+ http://www.pharscape.org/content/view/46/70/
diff --git a/openwrt/package/gcom/Makefile b/openwrt/package/gcom/Makefile
new file mode 100644
index 0000000000..cc739a4df6
--- /dev/null
+++ b/openwrt/package/gcom/Makefile
@@ -0,0 +1,49 @@
+# $Id$
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=gcom
+PKG_VERSION:=0.3
+PKG_RELEASE:=1
+PKG_MD5SUM:=cd32663025ed94a0ee623a689989f3c3
+
+PKG_SOURCE_URL:=http://www.pharscape.org/3G/gcom
+PKG_SOURCE:=$(PKG_NAME)$(PKG_VERSION).tgz
+PKG_CAT:=zcat
+
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
+PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
+
+include $(TOPDIR)/package/rules.mk
+
+$(eval $(call PKG_template,GCOM,$(PKG_NAME),$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
+
+$(PKG_BUILD_DIR)/.prepared:
+ rm -rf $(PKG_BUILD_DIR)
+ mkdir -p $(PKG_BUILD_DIR)
+ # the .tgz is different - no subdirectory, so do this manually
+ zcat $(DL_DIR)/$(PKG_SOURCE) | tar -C $(PKG_BUILD_DIR) $(TAR_OPTIONS) -
+ if [ -d ./patches ]; then $(PATCH) $(PKG_BUILD_DIR) ./patches ; fi
+ touch $@
+
+$(PKG_BUILD_DIR)/.configured:
+ touch $@
+
+$(PKG_BUILD_DIR)/.built:
+ $(MAKE) -C $(PKG_BUILD_DIR) \
+ CC="$(TARGET_CC)" \
+ CFLAGS="$(TARGET_CFLAGS)" \
+ gcom
+ touch $@
+
+$(IPKG_GCOM):
+ install -d -m0755 $(IDIR_GCOM)/usr/bin
+ install -m0755 $(PKG_BUILD_DIR)/gcom $(IDIR_GCOM)/usr/bin/
+ install -d -m0755 $(IDIR_GCOM)/etc/gcom
+ install -m0644 ./files/setpin.gcom $(IDIR_GCOM)/etc/gcom/setpin.gcom
+ install -m0644 ./files/setmode.gcom $(IDIR_GCOM)/etc/gcom/setmode.gcom
+ install -m0644 ./files/getcardinfo.gcom $(IDIR_GCOM)/etc/gcom/getcardinfo.gcom
+ install -m0644 ./files/getstrength.gcom $(IDIR_GCOM)/etc/gcom/getstrength.gcom
+ $(RSTRIP) $(IDIR_GCOM)
+ $(IPKG_BUILD) $(IDIR_GCOM) $(PACKAGE_DIR)
+
diff --git a/openwrt/package/gcom/files/getcardinfo.gcom b/openwrt/package/gcom/files/getcardinfo.gcom
new file mode 100644
index 0000000000..5c69a64604
--- /dev/null
+++ b/openwrt/package/gcom/files/getcardinfo.gcom
@@ -0,0 +1,14 @@
+opengt
+ set com 115200n81
+ set comecho off
+ set senddelay 0.02
+ waitquiet 0.2 0.2
+ flash 0.1
+
+:start
+ send "ATI^m"
+ get 1 "" $s
+ print $s
+
+:continue
+ exit 0
diff --git a/openwrt/package/gcom/files/getstrength.gcom b/openwrt/package/gcom/files/getstrength.gcom
new file mode 100644
index 0000000000..2886285971
--- /dev/null
+++ b/openwrt/package/gcom/files/getstrength.gcom
@@ -0,0 +1,14 @@
+opengt
+ set com 115200n81
+ set comecho off
+ set senddelay 0.02
+ waitquiet 0.2 0.2
+ flash 0.1
+
+:start
+ send "AT+CSQ^m"
+ get 1 "" $s
+ print $s
+
+:continue
+ exit 0
diff --git a/openwrt/package/gcom/files/setmode.gcom b/openwrt/package/gcom/files/setmode.gcom
new file mode 100644
index 0000000000..4ce0b5fa78
--- /dev/null
+++ b/openwrt/package/gcom/files/setmode.gcom
@@ -0,0 +1,26 @@
+# set wwan mode from environment
+opengt
+ set com 115200n81
+ set senddelay 0.02
+ waitquiet 1 0.2
+ flash 0.1
+
+:start
+ print "Trying to set mode\n"
+ send $env("MODE")
+ send "^m"
+
+ waitfor 15 "OK","ERR","ERROR"
+ if % = 0 goto continue
+ if % = 1 goto modeerror
+ if % = 2 goto modeerror
+
+ print "Timeout setting WWAN mode!\n"
+ exit 1
+
+:modeerror
+ print "Error setting WWAN mode!\n"
+ exit 1
+
+:continue
+ exit 0
diff --git a/openwrt/package/gcom/files/setpin.gcom b/openwrt/package/gcom/files/setpin.gcom
new file mode 100644
index 0000000000..66350fe20b
--- /dev/null
+++ b/openwrt/package/gcom/files/setpin.gcom
@@ -0,0 +1,55 @@
+# set pin code from evnironment "$PINCODE"
+opengt
+ set com 115200n81
+ set senddelay 0.05
+ waitquiet 3 0.5
+ flash 0.1
+
+ let c=0
+:start
+ send "AT+CPIN?^m"
+ waitfor 15 "SIM PUK","SIM PIN","READY","ERROR","ERR"
+ if % = -1 goto timeout
+ if % = 0 goto ready
+ if % = 1 goto setpin
+ if % = 2 goto ready
+ if % = 3 goto checkrepeat
+ if % = 4 goto checkrepeat
+
+:checkrepeat
+ inc c
+ if c>3 goto pinerror
+ waitquiet 12 0.5
+ goto start
+
+:timeout
+ print "timeout checking for PIN."
+ exit 1
+
+:ready
+ print "SIM ready\n"
+ goto continue
+ exit 0
+
+:setpin
+ # check if output was "SIM PIN2", that's ok.
+ waitfor 1 "2"
+ if % = 0 goto ready
+
+ print "Trying to set PIN\n"
+ send "AT+CPIN=\""
+ send $env("PINCODE")
+ send "\"^m"
+
+ waitfor 20 "OK","ERR"
+ if % = -1 goto pinerror
+ if % = 0 goto continue
+ if % = 1 goto pinerror
+
+:pinerror
+ print "Error setting PIN, check card manually\n"
+ exit 1
+
+:continue
+ print "PIN set successfully\n"
+ exit 0
diff --git a/openwrt/package/gcom/ipkg/gcom.control b/openwrt/package/gcom/ipkg/gcom.control
new file mode 100644
index 0000000000..a51d7ebcc4
--- /dev/null
+++ b/openwrt/package/gcom/ipkg/gcom.control
@@ -0,0 +1,4 @@
+Package: gcom
+Priority: optional
+Section: console
+Description: Option GlobeTrotter GPRS/EDGE/3G/HSDPA and Vodafone 3G/GPRS datacard control tool
diff --git a/openwrt/package/gcom/patches/001-Makefile.patch b/openwrt/package/gcom/patches/001-Makefile.patch
new file mode 100644
index 0000000000..28ea2ecf27
--- /dev/null
+++ b/openwrt/package/gcom/patches/001-Makefile.patch
@@ -0,0 +1,32 @@
+--- gcom-0.3.x/Makefile 2006-01-04 17:05:28.000000000 +0200
++++ gcom-0.3/Makefile 2006-02-26 13:02:07.000000000 +0200
+@@ -20,8 +20,6 @@
+ #
+ # $Id$
+ #
+-LIB = -L/usr/local/lib
+-INC = -I/usr/local/include
+ EXE = /usr/local/bin
+ MAN = /usr/share/man/man1
+ CPROG = gcom
+@@ -29,9 +27,6 @@
+ BIN = $(CPROG) $(SCRIPT)
+ MANP = gcom.1 sigmon.1
+
+-CFLAGS = -c
+-LDFLAGS =
+-
+ all: $(BIN)
+
+ install:
+@@ -53,8 +48,8 @@
+
+
+ gcom: gcom.o
+- cc gcom.o $(LDFLAGS) -o gcom
++ $(CC) gcom.o $(LDFLAGS) -o gcom
+
+ gcom.o: gcom.c gcom.h
+- cc gcom.c $(CFLAGS)
++ $(CC) -c $(CFLAGS) gcom.c
+