[oe-commits] org.oe.dev libgsmd: update patches

pH5 commit openembedded-commits at lists.openembedded.org
Tue Jun 12 10:37:41 UTC 2007


libgsmd: update patches
- drop plugin (accepted upstream) and qualcomm-extreply patches
- start the modem-alive thread only after the interpreter is ready
- add vendor plugin configurable extreply character support
- add a command line option to set the initial interpreter_ready state
- fix csq readings in the tihtc vendor module

Author: pH5 at openembedded.org
Branch: org.openembedded.dev
Revision: 00ba67c01fec8b792eb0346153ef79f8f229476c
ViewMTN: http://monotone.openembedded.org/revision.psp?id=00ba67c01fec8b792eb0346153ef79f8f229476c
Files:
1
packages/gsm/files/plugin.patch
packages/gsm/files/qualcomm-extreply.patch
packages/gsm/files/alive-start-if-interpreter-ready.patch
packages/gsm/files/extreplychars.patch
packages/gsm/files/getopt-wait-interpreter-ready.patch
packages/gsm/files/tihtc-csq-fix.patch
packages/gsm/libgsmd_svn.bb
Diffs:

#
# mt diff -rcaeab840bfff6893ad85fd7be5b9081613b1863d -r00ba67c01fec8b792eb0346153ef79f8f229476c
#
# 
# 
# delete "packages/gsm/files/plugin.patch"
# 
# delete "packages/gsm/files/qualcomm-extreply.patch"
# 
# add_file "packages/gsm/files/alive-start-if-interpreter-ready.patch"
#  content [da45c2a6233ce514fad8c931ad5d860882735f15]
# 
# add_file "packages/gsm/files/extreplychars.patch"
#  content [b94f6488e16d2724c3572957ca32edd44b57b25f]
# 
# add_file "packages/gsm/files/getopt-wait-interpreter-ready.patch"
#  content [d180f9ffb7f276533f23b387eb0bc1db25f011a2]
# 
# add_file "packages/gsm/files/tihtc-csq-fix.patch"
#  content [a1b59e3da57895259b70e5b54ef24aa825f22653]
# 
# patch "packages/gsm/libgsmd_svn.bb"
#  from [ce11a43b1052bd190a7d982c2b0fe1c7b4444eaf]
#    to [f29798a9c7083c4985c5d2499c90335f2a9c17f1]
# 
============================================================
--- packages/gsm/files/alive-start-if-interpreter-ready.patch	da45c2a6233ce514fad8c931ad5d860882735f15
+++ packages/gsm/files/alive-start-if-interpreter-ready.patch	da45c2a6233ce514fad8c931ad5d860882735f15
@@ -0,0 +1,39 @@
+Index: gsm/src/gsmd/atcmd.c
+===================================================================
+--- gsm.orig/src/gsmd/atcmd.c	2007-06-03 13:24:44.000000000 +0200
++++ gsm/src/gsmd/atcmd.c	2007-06-03 13:24:46.000000000 +0200
+@@ -185,6 +185,7 @@
+ 	    !strcmp(buf, "AT-Command Interpreter ready")) {
+ 		g->interpreter_ready = 1;
+ 		gsmd_initsettings(g);
++		gmsd_alive_start(g);
+ 		return 0;
+ 	}
+ 
+Index: gsm/src/gsmd/gsmd.c
+===================================================================
+--- gsm.orig/src/gsmd/gsmd.c	2007-06-03 13:22:02.000000000 +0200
++++ gsm/src/gsmd/gsmd.c	2007-06-03 13:22:56.000000000 +0200
+@@ -128,7 +128,7 @@
+ 	gsmd_timer_register(tmr);
+ }
+ 
+-static int gmsd_alive_start(struct gsmd *gsmd)
++int gmsd_alive_start(struct gsmd *gsmd)
+ {
+ 	struct timeval tv;
+ 
+@@ -478,10 +478,11 @@
+ 	/* select a vendor plugin */
+ 	gsmd_vendor_plugin_find(&g);
+ 
+-	if (g.interpreter_ready)
++	if (g.interpreter_ready) {
+ 		gsmd_initsettings(&g);
+ 	
+-	gmsd_alive_start(&g);
++		gmsd_alive_start(&g);
++	}
+ 
+ 	gsmd_opname_init(&g);
+ 
============================================================
--- packages/gsm/files/extreplychars.patch	b94f6488e16d2724c3572957ca32edd44b57b25f
+++ packages/gsm/files/extreplychars.patch	b94f6488e16d2724c3572957ca32edd44b57b25f
@@ -0,0 +1,70 @@
+Index: gsm/src/gsmd/atcmd.c
+===================================================================
+--- gsm.orig/src/gsmd/atcmd.c	2007-06-03 10:46:19.000000000 +0200
++++ gsm/src/gsmd/atcmd.c	2007-06-03 15:54:53.000000000 +0200
+@@ -208,7 +208,7 @@
+ 	 *    TBD
+ 	 */
+ 
+-	if (buf[0] == '+' || buf[0] == '%') {
++	if (buf[0] == '+' || strchr(g->vendorpl->ext_chars, buf[0])) {
+ 		/* an extended response */
+ 		const char *colon = strchr(buf, ':');
+ 		if (!colon) {
+@@ -255,7 +255,7 @@
+ 		}
+ 
+ 		if (cmd) {
+-			if (cmd->buf[2] != '+' && cmd->buf[2] != '%') {
++			if (cmd->buf[2] != '+' && strchr(g->vendorpl->ext_chars, cmd->buf[2]) == NULL) {
+ 				gsmd_log(GSMD_ERROR, "extd reply to non-extd command?\n");
+ 				return -EINVAL;
+ 			}
+Index: gsm/src/gsmd/vendor_qc.c
+===================================================================
+--- gsm.orig/src/gsmd/vendor_qc.c	2007-06-03 10:46:19.000000000 +0200
++++ gsm/src/gsmd/vendor_qc.c	2007-06-03 11:45:58.000000000 +0200
+@@ -97,6 +97,7 @@
+ 
+ struct gsmd_vendor_plugin gsmd_vendor_plugin = {
+ 	.name = "Qualcomm msm6250",
++	.ext_chars = "@",
+ 	.num_unsolicit = ARRAY_SIZE(qc_unsolicit),
+ 	.unsolicit = qc_unsolicit,
+ 	.detect = &qc_detect,
+Index: gsm/src/gsmd/vendor_ti.c
+===================================================================
+--- gsm.orig/src/gsmd/vendor_ti.c	2007-06-03 10:46:19.000000000 +0200
++++ gsm/src/gsmd/vendor_ti.c	2007-06-03 11:45:58.000000000 +0200
+@@ -303,6 +303,7 @@
+ 
+ struct gsmd_vendor_plugin gsmd_vendor_plugin = {
+ 	.name = "TI Calypso",
++	.ext_chars = "%@",
+ 	.num_unsolicit = ARRAY_SIZE(ticalypso_unsolicit),
+ 	.unsolicit = ticalypso_unsolicit,
+ 	.detect = &ticalypso_detect,
+Index: gsm/include/gsmd/vendorplugin.h
+===================================================================
+--- gsm.orig/include/gsmd/vendorplugin.h	2007-02-16 15:12:40.000000000 +0100
++++ gsm/include/gsmd/vendorplugin.h	2007-06-03 11:45:58.000000000 +0200
+@@ -12,6 +12,7 @@
+ struct gsmd_vendor_plugin {
+ 	struct llist_head list;
+ 	unsigned char *name;
++	unsigned char *ext_chars;
+ 	unsigned int num_unsolicit;
+ 	const struct gsmd_unsolicit *unsolicit;
+ 	int (*detect)(struct gsmd *g);
+Index: gsm/src/gsmd/vendor_tihtc.c
+===================================================================
+--- gsm.orig/src/gsmd/vendor_tihtc.c	2007-06-03 15:55:31.000000000 +0200
++++ gsm/src/gsmd/vendor_tihtc.c	2007-06-03 15:55:43.000000000 +0200
+@@ -298,6 +298,7 @@
+ 
+ struct gsmd_vendor_plugin gsmd_vendor_plugin = {
+ 	.name = "TI Calypso / HTC firmware",
++	.ext_chars = "%",
+ 	.num_unsolicit = ARRAY_SIZE(tihtc_unsolicit),
+ 	.unsolicit = tihtc_unsolicit,
+ 	.detect = &tihtc_detect,
============================================================
--- packages/gsm/files/getopt-wait-interpreter-ready.patch	d180f9ffb7f276533f23b387eb0bc1db25f011a2
+++ packages/gsm/files/getopt-wait-interpreter-ready.patch	d180f9ffb7f276533f23b387eb0bc1db25f011a2
@@ -0,0 +1,57 @@
+Index: gsm/src/gsmd/gsmd.c
+===================================================================
+--- gsm.orig/src/gsmd/gsmd.c	2007-06-03 11:57:43.000000000 +0200
++++ gsm/src/gsmd/gsmd.c	2007-06-03 11:57:45.000000000 +0200
+@@ -311,6 +311,7 @@
+ 	{ "leak-report", 0, NULL, 'L' },
+ 	{ "vendor", 1, NULL, 'v' },
+ 	{ "machine", 1, NULL, 'm' },
++	{ "wait", 1, NULL, 'w' },
+ 	{ 0, 0, 0, 0 }
+ };
+ 
+@@ -333,6 +334,7 @@
+ 	       "\t-l file\t--logfile file\tSpecify a logfile to log to\n"
+ 	       "\t-v\t--vendor v\tSpecify GSM modem vendor plugin\n"
+ 	       "\t-m\t--machine m\tSpecify GSM modem machine plugin\n"
++	       "\t-w\t--wait m\tWait for the AT Interpreter Ready message\n"
+ 	       );
+ }
+ 
+@@ -362,6 +364,7 @@
+ 	char *logfile = "syslog";
+ 	char *vendor_name = NULL;
+ 	char *machine_name = NULL;
++	int wait = -1;
+ 
+ 	signal(SIGTERM, sig_handler);
+ 	signal(SIGINT, sig_handler);
+@@ -374,7 +377,7 @@
+ 	print_header();
+ 
+ 	/*FIXME: parse commandline, set daemonize, device, ... */
+-	while ((argch = getopt_long(argc, argv, "FVLdhp:s:l:v:m:", opts, NULL)) != -1) {
++	while ((argch = getopt_long(argc, argv, "FVLdhp:s:l:v:m:w:", opts, NULL)) != -1) {
+ 		switch (argch) {
+ 		case 'V':
+ 			/* FIXME */
+@@ -411,6 +414,9 @@
+ 		case 'm':
+ 			machine_name = optarg;
+ 			break;
++		case 'w':
++			wait = atoi(optarg);
++			break;
+ 		}
+ 	}
+ 
+@@ -455,6 +461,9 @@
+ 		exit(1);
+ 	}
+ 
++	if (wait >= 0)
++		g.interpreter_ready = !wait;
++
+ 	if (atcmd_init(&g, fd) < 0) {
+ 		fprintf(stderr, "can't initialize UART device\n");
+ 		exit(1);
============================================================
--- packages/gsm/files/tihtc-csq-fix.patch	a1b59e3da57895259b70e5b54ef24aa825f22653
+++ packages/gsm/files/tihtc-csq-fix.patch	a1b59e3da57895259b70e5b54ef24aa825f22653
@@ -0,0 +1,27 @@
+Index: gsm/src/gsmd/vendor_tihtc.c
+===================================================================
+--- gsm.orig/src/gsmd/vendor_tihtc.c	2007-06-03 16:26:39.000000000 +0200
++++ gsm/src/gsmd/vendor_tihtc.c	2007-06-03 16:26:41.000000000 +0200
+@@ -90,6 +90,8 @@
+ 	struct gsmd_evt_auxdata *aux;
+ 	struct gsmd_ucmd *ucmd = usock_build_event(GSMD_MSG_EVENT, GSMD_EVT_SIGNAL,
+ 					     sizeof(*aux));
++	static int rssi_table[] = { 0,5,10,15,20,25,99 };
++	unsigned int i;
+ 
+ 	DEBUGP("entering htccsq_parse param=`%s'\n", param);
+ 	if (!ucmd)
+@@ -98,9 +100,10 @@
+ 
+ 	aux = (struct gsmd_evt_auxdata *) ucmd->buf;
+ 
+-	/* FIXME: contains values 1-5, should be mapped to 0-31 somehow? */
+-	/* 2 --> 11 */
+-	aux->u.signal.sigq.rssi = atoi(buf);
++	i = atoi(buf);
++	if (i > 6)
++		i = 6;
++	aux->u.signal.sigq.rssi = rssi_table[atoi(buf)];
+ 	aux->u.signal.sigq.ber = 99;
+ 
+ 	DEBUGP("sending EVT_SIGNAL\n");
============================================================
--- packages/gsm/libgsmd_svn.bb	ce11a43b1052bd190a7d982c2b0fe1c7b4444eaf
+++ packages/gsm/libgsmd_svn.bb	f29798a9c7083c4985c5d2499c90335f2a9c17f1
@@ -1,19 +1,20 @@ PV = "0.0+svn${SRCDATE}"
 DESCRIPTION = "GSM libraries and daemons implementing the 07.10 specification"
 HOMEPAGE = "http://www.openmoko.org"
 LICENSE = "GPL"
 SECTION = "libs/gsm"
 PROVIDES += "gsmd"
 PV = "0.0+svn${SRCDATE}"
-PR = "r10"
+PR = "r13"
 
 SRC_URI = "svn://svn.openmoko.org/trunk/src/target;module=gsm;proto=http \
            file://gsmd \
-           file://default"
-S = "${WORKDIR}/gsm"
+           file://default \
+           file://extreplychars.patch;patch=1 \
+           file://getopt-wait-interpreter-ready.patch;patch=1 \
+	   file://alive-start-if-interpreter-ready.patch;patch=1 \
+	   file://tihtc-csq-fix.patch;patch=1"
 
-SRC_URI_append_magician = " file://plugin.patch;patch=1"
-SRC_URI_append_htcuniversal = " file://plugin.patch;patch=1 \
-                                file://qualcomm-extreply.patch;patch=1"
+S = "${WORKDIR}/gsm"
 
 inherit autotools pkgconfig update-rc.d
 






More information about the Openembedded-commits mailing list