GNOME Bugzilla – Bug 690868
Handling disconnected connection
Last modified: 2013-02-07 20:43:23 UTC
Created attachment 232379 [details] modem-manager log I'm using 3G connection that after 1 hour disconnect client's device. Modem manager (version 6.0.0, os: ArchLinux, NetworkManager: 0.9.6.4, device: DW5550) receive E2NAP=0 but connection state stay the same.
So the problem is that after "*E2NAP: 0,36" MM still says the connection is up while it isn't?
Yes.
(In reply to comment #1) > So the problem is that after "*E2NAP: 0,36" MM still says the connection is up > while it isn't? modem-manager[16451]: <debug> [1357311532.482797] [mm-at-serial-port.c:334] debug_log(): (ttyACM1): <-- '<CR><LF>OK<CR><LF>' modem-manager[16451]: <debug> [1357311552.726550] [mm-at-serial-port.c:334] debug_log(): (ttyACM1): <-- '<CR><LF>*ERINFO: 1,0,1<CR><LF>' modem-manager[16451]: <debug> [1357311553.231885] [mm-at-serial-port.c:334] debug_log(): (ttyACM1): <-- '<CR><LF>*E2NAP: 0,36<CR><LF>' modem-manager[16451]: <debug> [1357311553.232038] [mm-modem-mbm.c:700] mbm_e2nap_received(): disconnected modem-manager[16451]: <debug> [1357311562.460519] [mm-at-serial-port.c:334] debug_log(): (ttyACM1): --> 'AT+CIND?<CR>' modem-manager[16451]: <debug> [1357311562.474223] [mm-at-serial-port.c:334] debug_log(): (ttyACM1): <-- '<CR><LF>+CIND: 5,4,0,0,1,0,0,0,0,0,0,0<CR><LF>' modem-manager[16451]: <debug> [1357311562.474720] [mm-at-serial-port.c:334] debug_log(): (ttyACM1): <-- '<CR><LF>OK<CR><LF>' modem-manager[16451]: <debug> [1357311592.483138] [mm-at-serial-port.c:334] debug_log(): (ttyACM1): --> 'AT+CIND?<CR>' modem-manager[16451]: <debug> [1357311592.496629] [mm-at-serial-port.c:334] debug_log(): (ttyACM1): <-- '<CR><LF>+CIND: 5,4,0,0,1,0,0,0,0,0,0,0<CR><LF>' modem-manager[16451]: <debug> [1357311592.497149] [mm-at-serial-port.c:334] debug_log(): (ttyACM1): <-- '<CR><LF>OK<CR><LF>' modem-manager[16451]: <debug> [1357311622.476127] [mm-at-serial-port.c:334] debug_log(): (ttyACM1): --> 'AT+CIND?<CR>' modem-manager[16451]: <debug> [1357311622.489270] [mm-at-serial-port.c:334] debug_log(): (ttyACM1): <-- '<CR><LF>+CIND: 5,4,0,0,1,0,0,0,0,0,0,0<CR><LF>' modem-manager[16451]: <debug> [1357311622.489827] [mm-at-serial-port.c:334] debug_log(): (ttyACM1): <-- '<CR><LF>OK<CR><LF>' modem-manager[16451]: <info> [1357311628.612649] [mm-modem.c:764] mm_modem_set_state(): Modem /org/freedesktop/ModemManager/Modems/0: state changed (connected -> disconnecting) modem-manager[16451]: <debug> [1357311628.613179] [mm-at-serial-port.c:334] debug_log(): (ttyACM1): --> 'AT*ENAP=0<CR>' modem-manager[16451]: <debug> [1357311628.613280] [mm-port.c:181] mm_port_set_connected(): (wwan0): port now disconnected modem-manager[16451]: <debug> [1357311628.629616] [mm-at-serial-port.c:334] debug_log(): (ttyACM1): <-- '<CR><LF>+CME ERROR: 276<CR><LF>' modem-manager[16451]: Invalid error code: 276 modem-manager[16451]: <debug> [1357311628.629714] [mm-serial-parsers.c:448] mm_serial_parser_v1_parse(): Got failure code 100: Unknown error
MBM devices are special in that they actually can tell us when the connection has died :) So we should be handling that better than MM is right now, by allowing plugins to signal to MMModem that the connection is dead and to tear it down.
Pushed a fix to 0.6.x for this, git commit fd5dd42e6a. It will trigger a disconnect if the modem is connected and the ERINFO indicates disconnection.