Activating an Internet context (APN) fails with NetworkManager[1356]: <warn> OFONO connection failed: (32) Implementation not provided

Bug #1378102 reported by Antti Kaijanmäki
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
network-manager (Ubuntu)
Triaged
Wishlist
Unassigned
ofono (Ubuntu)
Triaged
Wishlist
Unassigned
ubuntu-system-settings (Ubuntu)
Invalid
Critical
Unassigned

Bug Description

When trying to activate an Internet context when there already is another context active, the activation fails with:

NetworkManager[1356]: <info> Activation (/ril_1) starting connection '/244121301955547/context7'
NetworkManager[1356]: <info> (/ril_1): device state change: disconnected -> prepare (reason 'none') [30 40 0]
NetworkManager[1356]: <info> Activation (/ril_1) Stage 1 of 5 (Device Prepare) scheduled...
NetworkManager[1356]: <info> Activation (/ril_1) Stage 1 of 5 (Device Prepare) started...
NetworkManager[1356]: <info> Activation (/ril_1) Stage 1 of 5 (Device Prepare) complete.
NetworkManager[1356]: <warn> OFONO connection failed: (32) Implementation not provided
NetworkManager[1356]: <info> (/ril_1): device state change: prepare -> failed (reason 'unknown') [40 120 1]
NetworkManager[1356]: <warn> Activation (/ril_1) failed for connection '/244121301955547/context7'
NetworkManager[1356]: <info> (/ril_1): device state change: failed -> disconnected (reason 'none') [120 30 0]
NetworkManager[1356]: <info> (/ril_1): deactivating device (reason 'none') [0]

$ system-image-cli -i
current build number: 71
device name: krillin
channel: ubuntu-touch/devel-proposed
alias: ubuntu-touch/utopic-proposed
last update: 2014-10-06 15:59:25
version version: 71
version ubuntu: 20141006
version device: 20141002-d5938d7
version custom: krillin-0.6

Revision history for this message
Antti Kaijanmäki (kaijanmaki) wrote :

relevant syslog (note, no output from ofono, checked the code, there is no logging there):
http://pastebin.ubuntu.com/8508692/

list-contexts:
http://pastebin.ubuntu.com/8508850/

list-modems:
http://pastebin.ubuntu.com/8508854/

Revision history for this message
Antti Kaijanmäki (kaijanmaki) wrote :

full dbus-monitor dump of one of the activations.

Relevant info:

method call sender=:1.109 -> dest=org.freedesktop.NetworkManager serial=688 path=/org/freedesktop/NetworkManager/Settings/4; interface=org.freedesktop.NetworkManager.Settings.Connection; member=GetSettings

method return sender=:1.10 -> dest=:1.109 reply_serial=688
   array [
      dict entry(
         string "connection"
         array [
            dict entry(
               string "id"
               variant string "/244121301955547/context7"
            )
            dict entry(
               string "uuid"
               variant string "194c7fe0-bc2e-670a-42ca-df77ce5a48dd"
            )
            dict entry(
               string "read-only"
               variant boolean true
            )
            dict entry(
               string "type"
               variant string "gsm"
            )
         ]
      )
      dict entry(
         string "gsm"
         array [
            dict entry(
               string "number"
               variant string "*99#"
            )
         ]
      )
   ]

method call sender=:1.109 -> dest=org.freedesktop.NetworkManager serial=689 path=/org/freedesktop/NetworkManager; interface=org.freedesktop.NetworkManager; member=ActivateConnection
   object path "/org/freedesktop/NetworkManager/Settings/4"
   object path "/org/freedesktop/NetworkManager/Devices/2"
   object path "/"

method return sender=:1.10 -> dest=:1.109 reply_serial=689
   object path "/org/freedesktop/NetworkManager/ActiveConnection/9"

signal sender=:1.10 -> dest=(null destination) serial=5355 path=/org/freedesktop/NetworkManager/ActiveConnection/9; interface=org.freedesktop.NetworkManager.Connection.Active; member=PropertiesChanged
   array [
      dict entry(
         string "State"
         variant uint32 1
      )
      dict entry(
         string "Vpn"
         variant boolean false
      )
      dict entry(
         string "SpecificObject"
         variant object path "/"
      )
   ]

method call sender=:1.10 -> dest=org.ofono serial=5358 path=/ril_1/context7; interface=org.ofono.ConnectionContext; member=SetProperty
   string "Active"
   variant boolean true

error sender=:1.33 -> dest=:1.10 error_name=org.ofono.Error.NotImplemented reply_serial=5358
   string "Implementation not provided"

signal sender=:1.10 -> dest=(null destination) serial=5386 path=/org/freedesktop/NetworkManager/ActiveConnection/9; interface=org.freedesktop.NetworkManager.Connection.Active; member=PropertiesChanged
   array [
      dict entry(
         string "State"
         variant uint32 4
      )
      dict entry(
         string "Devices"
         variant array [
            ]
      )
   ]

signal sender=:1.10 -> dest=(null destination) serial=5388 path=/org/freedesktop/NetworkManager/Devices/2; interface=org.freedesktop.NetworkManager.Device; member=StateChanged
   uint32 30
   uint32 120
   uint32 0

Revision history for this message
Antti Kaijanmäki (kaijanmaki) wrote :

This bug is causing trouble with the APN editor which is a critical feature for the RTM.

tags: added: rtm14
Changed in network-manager (Ubuntu):
status: New → Confirmed
importance: Undecided → Critical
assignee: nobody → Mathieu Trudel-Lapierre (mathieu-tl)
tags: added: touch-2014-10-23
Revision history for this message
Mathieu Trudel-Lapierre (cyphermox) wrote :

We've discussed this and my understanding was that the fix for the issues would go in APN editor, where it's quite simple to disconnect the interface just before activating the new context, rather than in NM where these kinds of calls can be quite racy (or oFono where it would mean some re-engineering of core oFono bits, which we don't want to get into at the moment).

I'd still like to keep the network-manager task open but demoted to Medium, or even Wishlist. I'd still like to add some extra suspenders to at least make it easy to see the cause of the errors, and possibly having a workaround (though one that would most likely cause unwanted long delays in userspace if it was the only solution to fix this bug -- ie. make most of the process blocking, which would make it hard to properly track state in userspace since there would be a few device state transitions involved).

Revision history for this message
Tony Espy (awe) wrote :

I totally agree with Mathieu's previous comment. This has been discussed before, and all parties had agreed that the most pragmatic approach to this bug at this point in our cycle was to simply have the APN editor disable the current context before activating a new context.

Changing this in ofono requires a change to the core ofono GPRS behavior. Some modems allow multiple contexts to be activated. In our case, as we only allow a single Internet context to be activated and indicate this to the ofono core, when a second context is activated, the error NotImplemented ( which I agree is a poor choice ) is returned.

I'll add an ofono task to this bug and set it's importance to wishlist. The desired behavior change is something that we'll need to discuss with upstream.

Changed in ofono (Ubuntu):
status: New → Confirmed
importance: Undecided → Wishlist
Revision history for this message
Mathieu Trudel-Lapierre (cyphermox) wrote :

Reassigned/triaged the bugs so that the current state is more clear, and follows the comments here.

Changed in ubuntu-system-settings (Ubuntu):
importance: Undecided → Critical
status: New → Triaged
Changed in ofono (Ubuntu):
status: Confirmed → Triaged
Changed in network-manager (Ubuntu):
status: Confirmed → Triaged
Changed in ubuntu-system-settings (Ubuntu):
assignee: nobody → Antti Kaijanmäki (kaijanmaki)
Changed in network-manager (Ubuntu):
importance: Critical → Wishlist
assignee: Mathieu Trudel-Lapierre (mathieu-tl) → nobody
Revision history for this message
Ken VanDine (ken-vandine) wrote :

This was handled in ubuntu-system-settings before the apneditor branch landed, no need for a settings task.

Changed in ubuntu-system-settings (Ubuntu):
assignee: Antti Kaijanmäki (kaijanmaki) → nobody
status: Triaged → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.