parsing ^NDISSTATQry response from Huawei E353

Aleksander Morgado aleksander at aleksander.es
Sat Mar 28 11:07:06 PDT 2015


Mikko,

Any chance you can check with the attached patch applied?

On Sat, Mar 28, 2015 at 6:37 PM, Aleksander Morgado
<aleksander at aleksander.es> wrote:
> On Sat, Mar 28, 2015 at 11:32 AM, Mikko Vinni <mmvinni at yahoo.com> wrote:
>> Hi,
>>
>> Testing a Huawei E353 directly connected to my laptop (instead of a WLAN router) gives this
>> debug output (note the lowercase ry in ^NDISSTATQry):
>>
>>
>> maalis 27 22:09:02 ubium-1 ModemManager[2508]: <debug> [1427486942.121397] [mm-port-serial-at.c:440] debug_log(): (cdc-wdm0): --> 'AT^NDISSTATQRY?<CR><LF>'
>> maalis 27 22:09:02 ubium-1 ModemManager[2508]: <debug> [1427486942.128666] [mm-port-serial-at.c:440] debug_log(): (cdc-wdm0): <-- '<CR><LF>^NDISSTATQry:1<CR><LF><CR><LF>OK<CR><LF>'
>> maalis 27 22:09:02 ubium-1 ModemManager[2508]: <debug> [1427486942.128827] [huawei/mm-broadband-bearer-huawei.c:161] connect_ndisstatqry_check_ready(): Unexpected response to ^NDISSTATQRY command: Missing ^NDISSTAT / ^NDISSTATQRY prefix (Attempts so far: 11)
>> maalis 27 22:09:02 ubium-1 ModemManager[2508]: <debug> [1427486942.128886] [mm-port-serial.c:1294] _close_internal(): (cdc-wdm0) device open count is 0 (close)
>> maalis 27 22:09:02 ubium-1 ModemManager[2508]: <debug> [1427486942.128924] [mm-port-serial.c:1310] _close_internal(): (cdc-wdm0) closing serial port...
>> maalis 27 22:09:02 ubium-1 ModemManager[2508]: <debug> [1427486942.131157] [mm-port-serial.c:1359] _close_internal(): (cdc-wdm0) serial port closed
>> maalis 27 22:09:02 ubium-1 ModemManager[2508]: <debug> [1427486942.755252] [mm-port-serial-at.c:440] debug_log(): (ttyUSB2): <-- '<CR><LF>^DSFLOWRPT:000001F6,00000000,00000000,0000000000000000,0000000000000288,000B4000,00290400<CR><LF>'
>> maalis 27 22:09:02 ubium-1 ModemManager[2508]: <debug> [1427486942.755416] [huawei/mm-broadband-modem-huawei.c:1650] huawei_status_changed(): Duration: 502 Up: 0 Kbps Down: 0 Kbps Total: 0 Total: 0
>> maalis 27 22:09:03 ubium-1 ModemManager[2508]: <debug> [1427486943.120052] [mm-base-bearer.c:465] connect_ready(): Couldn't connect bearer '/org/freedesktop/ModemManager1/Bearer/0': 'Connection attempt not supported.'
>> maalis 27 22:09:03 ubium-1 ModemManager[2508]: <info>  [1427486943.120152] [mm-iface-modem.c:1392] __iface_modem_update_state_internal(): Modem /org/freedesktop/ModemManager1/Modem/0: state changed (connecting -> registered)
>> ---
>>
>>
>>
>> The connection doesn't work.
>>
>> I recall this modem having worked before, so something must have changed (not the parsing of
>> '^NDISSTATQRY:' in http://cgit.freedesktop.org/ModemManager/ModemManager/tree/plugins/huawei/mm-modem-helpers-huawei.c though, which seems to be hardcoded to look for the string in uppercase).
>>
>> Currently running
>> ModemManager (version 1.4.6) and NetworkManager (version 1.0.0) on Arch Linux (kernel 3.19.2-1-ARCH). The modem is:
>>
>>
>> # mmcli -m 0
>>
>> /org/freedesktop/ModemManager1/Modem/0 (device id '3433326290b146a4ae694d0a9d6ba061292e957b')
>> -------------------------
>> Hardware |   manufacturer: 'huawei'
>> |          model: 'E353'
>> |       revision: '21.137.05.00.864'
>> |      supported: 'gsm-umts'
>> |        current: 'gsm-umts'
>> |   equipment id: '867989013808965'
>> -------------------------
>> System   |         device: '/sys/devices/pci0000:00/0000:00:1a.0/usb3/3-1/3-1.2'
>> |        drivers: 'huawei_cdc_ncm, option1'
>> |         plugin: 'Huawei'
>> |   primary port: 'ttyUSB2'
>> |          ports: 'ttyUSB0 (at), ttyUSB2 (at), cdc-wdm0 (at), wwp0s26u1u2i1 (net)'
>> -------------------------
>> Numbers  |           own : 'unknown'
>> -------------------------
>> Status   |           lock: 'none'
>> | unlock retries: 'sim-pin (3), sim-pin2 (3), sim-puk (10), sim-puk2 (10)'
>> |          state: 'registered'
>> |    power state: 'on'
>> |    access tech: 'umts'
>> | signal quality: '25' (recent)
>> -------------------------
>> Modes    |      supported: 'allowed: 2g, 3g; preferred: none
>> |                  allowed: 2g, 3g; preferred: 2g
>> |                  allowed: 2g, 3g; preferred: 3g
>> |                  allowed: 2g; preferred: none
>> |                  allowed: 3g; preferred: none'
>> |        current: 'allowed: 2g, 3g; preferred: 3g'
>> -------------------------
>> Bands    |      supported: 'unknown'
>> |        current: 'unknown'
>> -------------------------
>> IP       |      supported: 'ipv4'
>> -------------------------
>> 3GPP     |           imei: '867989013808965'
>> |  enabled locks: 'none'
>> |    operator id: '24405'
>> |  operator name: 'elisa'
>> |   subscription: 'unknown'
>> |   registration: 'home'
>> -------------------------
>> SIM      |           path: '/org/freedesktop/ModemManager1/SIM/0'
>>
>> -------------------------
>> Bearers  |          paths: 'none'
>>
>> ----
>>
>> Is this a known issue or something that should be debugged further?
>>
>
> The issue really is the NDISSTATQRY? response parsing:
>
>         /* Give up if too many unexpected responses to NIDSSTATQRY are
> encountered. */
>         if (ctx->failed_ndisstatqry_count > 10) {
>             /* Clear context */
>             ctx->self->priv->connect_pending = NULL;
>             g_simple_async_result_set_error (ctx->result,
>                                              MM_MOBILE_EQUIPMENT_ERROR,
>
> MM_MOBILE_EQUIPMENT_ERROR_NOT_SUPPORTED,
>                                              "Connection attempt not
> supported.");
>             connect_3gpp_context_complete_and_free (ctx);
>             return;
>         }
>
> I'll change that to make it case insensitive.
>
> Someone at Huawei deserves a punishment for this ^NDISSTATQry thing.
>
> --
> Aleksander
> https://aleksander.es



-- 
Aleksander
https://aleksander.es
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-huawei-allow-responses-like-NDISSTATQry-e.g.-Huawei-.patch
Type: text/x-patch
Size: 6968 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/modemmanager-devel/attachments/20150328/454f32ad/attachment-0001.bin>


More information about the ModemManager-devel mailing list