diff options
Diffstat (limited to 'packages/gsm/files')
-rw-r--r-- | packages/gsm/files/htcuniversal/default | 2 | ||||
-rw-r--r-- | packages/gsm/files/universal-wcdma.patch | 29 | ||||
-rw-r--r-- | packages/gsm/files/vendor-qc-v0.patch | 38 |
3 files changed, 68 insertions, 1 deletions
diff --git a/packages/gsm/files/htcuniversal/default b/packages/gsm/files/htcuniversal/default index 3c9a8da949..b09d433d1e 100644 --- a/packages/gsm/files/htcuniversal/default +++ b/packages/gsm/files/htcuniversal/default @@ -1,6 +1,6 @@ # gsmd This shell script configures for the gsmd init script. -GSMD_OPTS="-s 115200 -F" +GSMD_OPTS="-s 115200 -F -w 1" # If your GSM device needs to be powered up, uncomment and modify the next line #GSM_POW="/sys/bus/platform/devices/gta01-pm-gsm.0/power_on" diff --git a/packages/gsm/files/universal-wcdma.patch b/packages/gsm/files/universal-wcdma.patch new file mode 100644 index 0000000000..a162ce2326 --- /dev/null +++ b/packages/gsm/files/universal-wcdma.patch @@ -0,0 +1,29 @@ +Index: gsm/src/gsmd/vendor_qc.c +=================================================================== +--- gsm.orig/src/gsmd/vendor_qc.c 2007-06-13 20:13:47.000000000 +0200 ++++ gsm/src/gsmd/vendor_qc.c 2007-06-13 20:45:19.000000000 +0200 +@@ -69,8 +69,15 @@ + return -EIO; + } + ++static int wcdma_parse(char *buf, int len, const char *param, ++ struct gsmd *gsmd) ++{ ++ return 0; ++} ++ + static const struct gsmd_unsolicit qc_unsolicit[] = { + { "@HTCCSQ", &htccsq_parse }, /* Signal Quality */ ++ { "[WCDMA]", &wcdma_parse }, /* ignore [WCDMA] messages */ + + /* FIXME: parse the below and generate the respective events */ + +@@ -97,7 +109,7 @@ + + struct gsmd_vendor_plugin gsmd_vendor_plugin = { + .name = "Qualcomm msm6250", +- .ext_chars = "@", ++ .ext_chars = "@[", + .num_unsolicit = ARRAY_SIZE(qc_unsolicit), + .unsolicit = qc_unsolicit, + .detect = &qc_detect, diff --git a/packages/gsm/files/vendor-qc-v0.patch b/packages/gsm/files/vendor-qc-v0.patch new file mode 100644 index 0000000000..8306f8a66e --- /dev/null +++ b/packages/gsm/files/vendor-qc-v0.patch @@ -0,0 +1,38 @@ +Index: gsm/src/gsmd/vendor_qc.c +=================================================================== +--- gsm.orig/src/gsmd/vendor_qc.c 2007-06-13 20:13:47.000000000 +0200 ++++ gsm/src/gsmd/vendor_qc.c 2007-06-13 20:45:19.000000000 +0200 +@@ -81,6 +88,9 @@ + { + /* FIXME: do actual detection of vendor if we have multiple vendors */ + /* open /proc/cpuinfo and check for HTC Universal? */ ++ ++ /* The Qualcomm chip starts in V0 mode */ ++ g->flags |= GSMD_FLAG_V0; + return 1; + } + +Index: gsm/src/gsmd/gsmd.c +=================================================================== +--- gsm.orig/src/gsmd/gsmd.c 2007-06-13 20:13:47.000000000 +0200 ++++ gsm/src/gsmd/gsmd.c 2007-06-13 20:49:54.000000000 +0200 +@@ -62,7 +62,8 @@ + { + struct gsmd_alive_priv *alp = ctx; + +- if (!strcmp(resp, "OK")) ++ if (!strcmp(resp, "OK") || ++ ((alp->gsmd->flags & GSMD_FLAG_V0) && resp[0] == '0')) + alp->alive_responded = 1; + return 0; + } +@@ -201,7 +202,8 @@ + { + struct gsmd *gsmd = ctx; + +- if (strcmp(resp, "OK")) { ++ if (strcmp(resp, "OK") && ++ (!(gsmd->flags & GSMD_FLAG_V0) || resp[0] != '0')) { + gsmd_log(GSMD_FATAL, "response '%s' to initial command invalid", resp); + exit(5); + } |