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

Reply via email to