aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Williams <dcbw@redhat.com>2012-06-04 13:52:09 -0500
committerDan Williams <dcbw@redhat.com>2012-06-04 13:52:09 -0500
commita46dcb10e26aa95960b568ad857424d8ed227739 (patch)
tree6e337b0548dfc251119d5a9e8d45a8c04db57063
parent2493ca360e08013ccc084356b4a1af62b3dd3bf8 (diff)
uml290: allow setting more global modes
-rw-r--r--uml290/uml290mode.c29
1 files changed, 24 insertions, 5 deletions
diff --git a/uml290/uml290mode.c b/uml290/uml290mode.c
index 5ba1c539..7e910dc9 100644
--- a/uml290/uml290mode.c
+++ b/uml290/uml290mode.c
@@ -387,7 +387,8 @@ error:
static void
usage (const char *prog)
{
- fprintf (stderr, "Usage: %s <WMC port> <DM port> <4g|3g|auto> [--debug]\n", prog);
+ fprintf (stderr, "Usage: %s <WMC port> <DM port> <mode> [--debug]\n", prog);
+ fprintf (stderr, " <mode> = lte, auto-cdma, auto, cdma, evdo, auto-gsm, gprs, umts\n\n");
}
int
@@ -398,21 +399,39 @@ main (int argc, char *argv[])
const char *wmcport = argv[1];
const char *dmport = argv[2];
const char *smode = argv[3];
+ wmcbool set_evdo = FALSE;
if (argc != 4 && argc != 5) {
usage (argv[0]);
return 1;
}
- if (strcasecmp (smode, "4g") == 0) {
+ if (strcasecmp (smode, "lte") == 0) {
mode = WMC_NETWORK_MODE_LTE_ONLY;
hdrpref = QCDM_CMD_NV_HDR_REV_PREF_ITEM_REV_PREF_EHRPD;
- } else if (strcasecmp (smode, "3g") == 0) {
+ set_evdo = TRUE;
+ } else if (strcasecmp (smode, "auto-cdma") == 0) {
mode = WMC_NETWORK_MODE_AUTO_CDMA;
hdrpref = QCDM_CMD_NV_HDR_REV_PREF_ITEM_REV_PREF_A;
+ set_evdo = TRUE;
} else if (strcasecmp (smode, "auto") == 0) {
mode = WMC_NETWORK_MODE_AUTO;
hdrpref = QCDM_CMD_NV_HDR_REV_PREF_ITEM_REV_PREF_EHRPD;
+ set_evdo = TRUE;
+ } else if (strcasecmp (smode, "cdma") == 0) {
+ mode = WMC_NETWORK_MODE_CDMA_ONLY;
+ hdrpref = QCDM_CMD_NV_HDR_REV_PREF_ITEM_REV_PREF_A;
+ set_evdo = TRUE;
+ } else if (strcasecmp (smode, "evdo") == 0) {
+ mode = WMC_NETWORK_MODE_EVDO_ONLY;
+ hdrpref = QCDM_CMD_NV_HDR_REV_PREF_ITEM_REV_PREF_A;
+ set_evdo = TRUE;
+ } else if (strcasecmp (smode, "auto-gsm") == 0) {
+ mode = WMC_NETWORK_MODE_AUTO_GSM;
+ } else if (strcasecmp (smode, "gprs") == 0) {
+ mode = WMC_NETWORK_MODE_GPRS_ONLY;
+ } else if (strcasecmp (smode, "umts") == 0) {
+ mode = WMC_NETWORK_MODE_UMTS_ONLY;
} else {
usage (argv[0]);
return 1;
@@ -426,10 +445,10 @@ main (int argc, char *argv[])
if (wmc_set_global_mode (wmcport, mode))
return 1;
- if (qcdm_set_hdr_pref (dmport, hdrpref))
+ if (set_evdo && qcdm_set_hdr_pref (dmport, hdrpref))
return 1;
- fprintf (stdout, "Success setting mode to '%s': replug your UML290.\n", smode);
+ fprintf (stdout, "Success setting mode to '%s': replug your device.\n", smode);
return 0;
}