[PATCH] huawei: fix ^ICCID parsing

Ben Chan benchan at chromium.org
Tue Sep 24 14:30:04 PDT 2013


Seems like some modems swap digits in ^ICCID response and some don't.
We may need to compute the check digit to determine which format to
use.



On Tue, Sep 24, 2013 at 2:04 PM, Ben Chan <benchan at chromium.org> wrote:
> ^ICCID reports the ICCID without swapping characters.
> ---
> Here's what I observed on E3121, E3131, and MU736:
>
>   <debug> (ttyUSB0): --> 'AT^ICCID?<CR>'
>   <debug> (ttyUSB0): <-- '<CR><LF>^ICCID: 8901260463490013584<CR><LF><CR><LF>OK<CR><LF>'
>
>   <debug> (ttyUSB0): --> 'AT+CRSM=176,12258,0,0,10<CR>'
>   <debug> (ttyUSB0): <-- '<CR><LF>+CRSM: 144,0,"981062403694003185F4"<CR><LF><CR><LF>OK<CR><LF>'
>
>  plugins/huawei/mm-sim-huawei.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/plugins/huawei/mm-sim-huawei.c b/plugins/huawei/mm-sim-huawei.c
> index 7963180..55ba839 100644
> --- a/plugins/huawei/mm-sim-huawei.c
> +++ b/plugins/huawei/mm-sim-huawei.c
> @@ -87,8 +87,7 @@ iccid_read_ready (MMBaseModem *modem,
>      if (!p)
>          goto error;
>
> -    /* Huawei ^ICCID response must be character swapped */
> -    parsed = mm_3gpp_parse_iccid (p, TRUE, NULL);
> +    parsed = mm_3gpp_parse_iccid (p, FALSE, NULL);
>      if (parsed) {
>          g_simple_async_result_set_op_res_gpointer (simple, parsed, g_free);
>          g_simple_async_result_complete (simple);
> --
> 1.8.4
>


More information about the ModemManager-devel mailing list