Steps to reproduce added in bug description. ** Description changed:
When ofono is stopped ("stop ofono"), some messages that are supposed to be sent to rild to clean up resources are not really sent. This happens due to the asynchronous nature of g_ril_send(): ofono never returns to glib's main loop after having started the termination stage of the process. The message that is not sent is RIL_REQUEST_DEACTIVATE_DATA_CALL In some modems, this leaks call-id resources and no data call can be established after a few start/stop ofono iterations. + + To reproduce: + + # stop ofono + # export OFONO_RIL_HEX_TRACE="" + # export OFONO_RIL_TRACE="" + # ofonod -n -d -p ril,rilmodem,provision,mbpi,nettime,mnclength,smshistory >& /tmp/ofono_log.txt& + + * Check that we have an active data connection + + # pkill ofonod + + Taking a look at the log, we should see near the end: + + ofonod[XXXX]: Terminating + ... + ofonod[XXXX]: [XXXX]> RIL_REQUEST_DEACTIVATE_DATA_CALL (0,0) + ... + ofonod[XXXX]: [XXXX]> RIL_REQUEST_RADIO_POWER (0) + + DEACTIVATE_DATA_CALL and RADIO_POWER are the two messages that we are + trying to send to rild, but that are not really sent. We know that + because a message like: + + ofonod[XXXX]: Device: > (... some hex data ...) + + should have been printed after the request trace because we have set the + environment variable OFONO_RIL_HEX_TRACE. The trace is printed right + after sending data in grilio.c::g_ril_io_write(). -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1273334 Title: ofono does not send messages to rild when terminating To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/ofono/+bug/1273334/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs