From: Denis Kenzior <denkenz@gmail.com>
To: ofono@ofono.org
Subject: Re: [PATCH 6/7] plugins/ublox: read network mode
Date: Thu, 17 Mar 2016 10:09:39 -0500 [thread overview]
Message-ID: <56EAC8B3.60103@gmail.com> (raw)
In-Reply-To: <1458218313-26966-7-git-send-email-dragos@endocode.com>
[-- Attachment #1: Type: text/plain, Size: 3315 bytes --]
Hi Dongsu,
On 03/17/2016 07:38 AM, Dragos Tatulea wrote:
> From: Dongsu Park <dongsu@endocode.com>
>
> Read network mode into modem string. This will let the gprs-context
> drive know what to do.
> ---
> plugins/ublox.c | 47 ++++++++++++++++++++++++++++++++++++++++++-----
> 1 file changed, 42 insertions(+), 5 deletions(-)
>
> diff --git a/plugins/ublox.c b/plugins/ublox.c
> index 092ba64..d3361a3 100644
> --- a/plugins/ublox.c
> +++ b/plugins/ublox.c
> @@ -42,6 +42,7 @@
> #include <drivers/atmodem/atutil.h>
> #include <drivers/atmodem/vendor.h>
>
> +static const char *ubmconf_prefix[] = { "+UBMCONF:", NULL };
> static const char *none_prefix[] = { NULL };
>
> enum supported_models {
> @@ -51,11 +52,17 @@ enum supported_models {
> TOBYL2_HIGH_THROUGHPUT_MODE = 1146,
> };
>
> +enum ublox_net_mode {
> + UBLOX_TOBYL2_NET_MODE_ROUTER = 1,
> + UBLOX_TOBYL2_NET_MODE_BRIDGE = 2,
> +};
> +
> struct ublox_data {
> GAtChat *modem;
> GAtChat *aux;
> int model_id;
> enum ofono_vendor vendor_family;
> + enum ublox_net_mode net_mode;
> };
>
> static void ublox_debug(const char *str, void *user_data)
> @@ -92,6 +99,39 @@ static void ublox_remove(struct ofono_modem *modem)
> g_free(data);
> }
>
> +static void read_ubmconf_cb(gboolean ok, GAtResult *result, gpointer user_data)
> +{
> + struct ofono_modem *modem = (struct ofono_modem *) user_data;
> + struct ublox_data *data = ofono_modem_get_data(modem);
> + int mode = 0;
> + GAtResultIter iter;
> +
> + g_at_result_iter_init(&iter, result);
> +
> + while (!g_at_result_iter_next(&iter, "+UBMCONF:"))
> + ; /* skip every other line that is not UBMCONF */
g_at_result_iter_next already skips all lines that are not prefixed with
the prefix. So this part doesn't seem right.
> +
> + g_at_result_iter_next_number(&iter, &mode);
Do you want to check the error return here?
> +
> + data->net_mode = mode;
> + DBG("mode=%d", mode);
doc/coding-style.txt item M1.
> + if (mode == 1)
> + ofono_modem_set_string(modem, "NetworkMode", "routed");
> + else if (mode == 2)
> + ofono_modem_set_string(modem, "NetworkMode", "bridged");
> +}
> +
> +static void read_net_mode(struct ofono_modem *modem)
> +{
> + struct ublox_data *data = ofono_modem_get_data(modem);
> +
> + if (!data->aux)
> + return;
> +
> + g_at_chat_send(data->aux, "AT+UBMCONF?",
> + ubmconf_prefix, read_ubmconf_cb, modem, NULL);
> +}
> +
> static GAtChat *open_device(struct ofono_modem *modem,
> const char *key, char *debug)
> {
> @@ -141,11 +181,6 @@ static void cfun_enable(gboolean ok, GAtResult *result, gpointer user_data)
> return;
> }
>
> - if (data->model_id == TOBYL2_HIGH_THROUGHPUT_MODE)
> - /* use bridged mode until routed mode support is added */
> - g_at_chat_send(data->aux, "AT+UBMCONF=2", none_prefix,
> - NULL, NULL, NULL);
> -
> ofono_modem_set_powered(modem, TRUE);
> }
>
> @@ -205,6 +240,8 @@ static int ublox_enable(struct ofono_modem *modem)
> g_at_chat_send(data->aux, "ATE0 +CMEE=1", none_prefix,
> NULL, NULL, NULL);
>
> + read_net_mode(modem);
> +
> g_at_chat_send(data->aux, "AT+CFUN=4", none_prefix,
> cfun_enable, modem, NULL);
>
>
Regards,
-Denis
next prev parent reply other threads:[~2016-03-17 15:09 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-03-17 12:38 [PATCH v2 0/7] Support for U-Blox Toby L2 modems Dragos Tatulea
2016-03-17 12:38 ` [PATCH 1/7] plugins/ublox: give names to model ids Dragos Tatulea
2016-03-17 14:41 ` Denis Kenzior
2016-03-17 12:38 ` [PATCH 2/7] ubloxmodem: add Toby L2 gprs context driver Dragos Tatulea
2016-03-17 12:38 ` [PATCH 3/7] plugins/ublox: enable ubloxmodem driver when possible Dragos Tatulea
2016-03-17 14:53 ` Denis Kenzior
2016-03-17 12:38 ` [PATCH 4/7] plugins/ublox: support more internet contexts Dragos Tatulea
2016-03-17 14:54 ` Denis Kenzior
2016-03-17 12:38 ` [PATCH 5/7] ubloxmodem: support authentication Dragos Tatulea
2016-03-17 12:38 ` [PATCH 6/7] plugins/ublox: read network mode Dragos Tatulea
2016-03-17 15:09 ` Denis Kenzior [this message]
2016-03-17 12:38 ` [PATCH 7/7] ubloxmodem: add routed mode support Dragos Tatulea
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=56EAC8B3.60103@gmail.com \
--to=denkenz@gmail.com \
--cc=ofono@ofono.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox