OK, I think I figured it out after looking at a radio log of the problem
reproduced by Alfonso.

First, there are a couple of MTK-specific unsolicited events that are
received that look suspicious:

RIL_UNSOL_RESPONSE_PS_NETWORK_STATE_CHANGED
UNSOL_RESTRICTED_STATE_CHANGED
RIL_UNSOL_RESPONSE_PS_NETWORK_STATE_CHANGED
UNSOL_RESTRICTED_STATE_CHANGED
UNSOL_DATA_CALL_LIST_CHANGED

Turns the mtkmodem code overrides the normal NETWORK_STATE_CHANGED
unsolicted request with the PS_NETWORK_STATE_CHANGED request.  The
RESTRICTED_STATE_CHANGED request doesn't seem to be listened for at all.

That said, I also see a UNSOL_DATA_CALL_LIST_CHANGED with the following
payload:

01 00 00 00 F2 03 00 00 09 00 00 00 00 00 00 00

01 00 00 00 = unsolicted
F2 03 00 00 = UNSOL_DATA_CALL_LIST_CHANGED
09 00 00 00 = version
00 00 00 00 = number of calls

The function ril_gprs_context_call_list_changed() in /drivers/rilmodem
/gprs-context.c handles this message.  If tries to iterator over the
call list, and if disconnect == TRUE, or active_cid_found == FALSE, it
calls set_context_disconnect().  This function however only sets the
internal rilmodem struct to disconnected state, and doesn't inform the
ofono core of the disconnect.  So, it leaves the connection internally
disconnected, but to the rest of the system, it's still connected.

I imagine this may be the same bug as bug #1436427 ( which has been a
theory all along ).

I'm working on a fix now, and should have something available to test by
tomorrow.



** Also affects: ofono (Ubuntu)
   Importance: Undecided
       Status: New

** Changed in: ofono (Ubuntu)
       Status: New => In Progress

** Changed in: ofono (Ubuntu)
   Importance: Undecided => Critical

** Changed in: ofono (Ubuntu)
     Assignee: (unassigned) => Tony Espy (awe)

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1435328

Title:
  Leaving Wifi does not connect to mobile carrier data (GSM)

To manage notifications about this bug go to:
https://bugs.launchpad.net/canonical-devices-system-image/+bug/1435328/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to