[PATCH] huawei: retry connect/disconnect attempt upon NDISSTATQRY failures

Aleksander Morgado aleksander at lanedo.com
Mon Sep 2 10:44:46 PDT 2013


On 02/09/13 19:18, Ben Chan wrote:
>     See some comments below.
> 
>     But I'm mostly interested in what the exact issues are. What does
>     NDISSTATQRY reply that the parser doesn't like? Which is the exact
>     response string? Shouldn't we just improve the parser to handle
>     those cases?
> 
> 
> We observe an issue on MU736 that ^NDISSTATQRY? sometimes reports +CME
> ERROR: 100 (Unknown error). The modem recovers if we retry the command,
> which is what this patch tries to accomplish.
> 

I see. A comment explaining that in the patch itself is always
appreciated :)

> BTW, should we use the "^NDISSTAT" unsolicited message to determine the
> connection status, instead of polling via "^NDISSTATQRY?" ?
> 

Definitely. If NDISSTAT unsolicited messages give us this information
without needing to poll, and they are more reliable, then we should use
them, as we do e.g. in the option/hso plugin.


> [1377279766.574627] [mm-at-serial-port.c:436] debug_log(): (ttyUSB0):
> --> 'AT^NDISSTATQRY?<CR>'
> [1377279766.595906] [mm-at-serial-port.c:436] debug_log(): (ttyUSB0):
> <-- '<CR><LF>^NDISSTATQRY: 0,,,"IPV4"<CR><LF><CR><LF>OK<CR><LF>'
> [1377279767.575531] [mm-at-serial-port.c:436] debug_log(): (ttyUSB0):
> --> 'AT^NDISSTATQRY?<CR>'
> [1377279767.593466] [mm-at-serial-port.c:436] debug_log(): (ttyUSB0):
> <-- '<CR><LF>^NDISSTAT: 1,,,"IPV4"<CR><LF>'
> [1377279767.598553] [mm-at-serial-port.c:436] debug_log(): (ttyUSB0):
> <-- '<CR><LF>^MODE: 5,9<CR><LF>'
> [1377279767.598796] [huawei/mm-broadband-modem-huawei.c:1488]
> huawei_mode_changed(): Access Technology: 'hspa-plus'
> [1377279767.599057] [mm-iface-modem.c:726]
> mm_iface_modem_update_access_technologies(): Modem
> /org/freedesktop/ModemManager1/Modem/0: access technology changed (umts
> -> hspa-plus)
> [1377279767.605640] [mm-at-serial-port.c:436] debug_log(): (ttyUSB0):
> <-- '<CR><LF>+CME ERROR: 100<CR><LF>'
> [1377279767.605939] [mm-serial-parsers.c:364]
> mm_serial_parser_v1_parse(): Got failure code 100: Unknown error
> [1377279767.606101] [huawei/mm-broadband-bearer-huawei.c:138]
> connect_ndisstatqry_check_ready(): Ignoring NDISSTATQRY error: NO RESPONSE
> [1377279767.606236] [mm-serial-port.c:1018] mm_serial_port_close():
> (ttyUSB0) device open count is 1 (close)
> [1377279768.574534] [mm-serial-port.c:972] mm_serial_port_open():
> (ttyUSB0) device open count is 2 (open)
> [1377279768.574931] [mm-at-serial-port.c:436] debug_log(): (ttyUSB0):
> --> 'AT^NDISSTATQRY?<CR>'
> [1377279768.594524] [mm-at-serial-port.c:436] debug_log(): (ttyUSB0):
> <-- '<CR><LF>^NDISSTATQRY: 1,,,"IPV4"<CR><LF><CR><LF>OK<CR><LF>' 


-- 
Aleksander


More information about the ModemManager-devel mailing list