No mobile data / No IPv4/CLAT on JollaPhone 2026

REPRODUCIBILITY: 100%
OS VERSION: 5.2.0.17
HARDWARE: JollaPhone 2026
UI LANGUAGE: English (UK)
REGRESSION: new device, so no

DESCRIPTION:

  • IPv6 only / broken CLAT, IPv4 addresses remain “unreachable”.
  • Full loss of mobile data in JP2601, 2G/4G/5G, not recoverable by restarting or any other means (but I present a fix via CLI below)

PRECONDITIONS:

  • New device. Fresh installation, no back-up from previous device restored.
  • Simyo SIM in SIM slot #1. Simyo is a budget brand of KPN in the Netherlands, it uses the regular NL KPN network and APN settings. Slot #2 is empty.
  • (Open)VPN enabled, connecting to my IPv4 home address.
  • WLAN off

STEPS TO REPRODUCE:

How I initially got to the broken state, I don’t know. I do know that at first, I did had mobile data, many sites worked just fine (IPv6 I guess), but I couldn’t connect to my VPN at home, via its IPv4 address. Eventually, I got to the point of no mobile data at all.

These steps are from a fully working state, using “Protocol: IP” configured in Settings → Mobile network → Data access point.

Caveat: even using these steps, things don’t seem to always break immediately, sometimes it takes a reboot, restarting mobile data subsystem or dis/enabling the SIM to break. Yet, I seem to manage to break it without exception, eventually. There may be a lot of race conditions involved.

  1. Switch to Protocol: DUAL, exit dialog. (This now sometimes seem to work just fine, giving me actual dual stack!)
  2. Reboot. Note that IPv4 is now broken, but still IPv6 network access.
  3. Switch back to Protocol: IP, exit dialog.

EXPECTED RESULT:

Working mobile data network, IPv4 only. Well, of course I expect dual stack to just work, but I’ll settle for IPv4 for now…

ACTUAL RESULT:

No mobile data network at all. It does simply does not connect, and will not connect anymore. Rebooting device, restarting services from the Utilities, swapping the SIM to SIM Slot #2, flight mode cycle, none of it matters, it remains broken. /ril_0/context1 remains Active: false.

But, here’s an instant fix: from the terminal, as root, execute this:
# dbus-send --system --print-reply --dest=org.ofono /ril_0/context1 org.ofono.ConnectionContext.SetProperty string:Active variant:boolean:true

This actives the first context, “KPN Mobiel Internet” in my case. Immediately the device connects, and remains connected, across reboots and all.

MODIFICATIONS:

None

ADDITIONAL INFORMATION:

It seems CLAT is sometimes broken, causing IPv4 to fail in Protocol: DUAL mode. Weird, because on Sailfish OS 5.0.0.77 on my XA2 using the same SIM I’ve never had these problems.

At some point I did get a working DUAL stack tho, see below, yet I manage to break it again simply by disabling and re-enabling SIM #1 (the one with the actual sim)

$ dbus-send --system --print-reply --dest=org.ofono /ril_0 org.ofono.ConnectionManager.GetContexts
method return time=1787415541.546950 sender=:1.182 -> destination=:1.185 serial=530 reply_serial=2
   array [
      struct {
         object path "/ril_0/context1"
         array [
            dict entry(
               string "Name"
               variant                   string "KPN Mobiel Internet"
            )
            dict entry(
               string "Active"
               variant                   boolean true
            )
            dict entry(
               string "Type"
               variant                   string "internet"
            )
            dict entry(
               string "Protocol"
               variant                   string "dual"
            )
            dict entry(
               string "AccessPointName"
               variant                   string "internet"
            )
            dict entry(
               string "Username"
               variant                   string ""
            )
            dict entry(
               string "Password"
               variant                   string ""
            )
            dict entry(
               string "AuthenticationMethod"
               variant                   string "none"
            )
            dict entry(
               string "Settings"
               variant                   array [
                     dict entry(
                        string "Interface"
                        variant                            string "ccmni1"
                     )
                     dict entry(
                        string "Method"
                        variant                            string "static"
                     )
                     dict entry(
                        string "Address"
                        variant                            string "10.13.116.238"
                     )
                     dict entry(
                        string "Netmask"
                        variant                            string "255.255.255.0"
                     )
                     dict entry(
                        string "Gateway"
                        variant                            string "10.13.116.238"
                     )
                     dict entry(
                        string "DomainNameServers"
                        variant                            array [
                              string "194.151.228.50"
                              string "194.151.228.2"
                           ]
                     )
                  ]
            )
            dict entry(
               string "IPv6.Settings"
               variant                   array [
                     dict entry(
                        string "Interface"
                        variant                            string "ccmni1"
                     )
                  ]
            )
         ]
      }
10 Likes

Unfortunately that does not work for me.
Active remain false with KPN.

-edit- I tried it again and now it’s working.

Thank you

1 Like

I have the same issue with Sosh in France. dbus-send command also fixes the issue for me !

1 Like

Command to restore mobile connection works, small typo in v ariant → variant, after that it worked when executing as root.

Thanks, I fixed it in my post.

2 Likes

From the beginning i had an issue with the mobile network connection…
And that one d-bus command fixed it, good job !

1 Like

We do have a small fix waiting to be in the 5.2.0.19 (I think) that ensures that the runtime directory at /run/connman will be created by systemd at every boot. This is required by CLAT as the configuration is stored there, and that is the reason CLAT fails to start. Sorry about this.

4 Likes

I just updated the phone to the 5.2.0.18 release, and it seems to work without the command, maybe it’s already included.

edit: I checked, the /run/connman folder is not there, but it works :smiling_face_with_tear:

I just updated the phone to the 5.2.0.20, and I still have the problem that has persisted since the version 18, no problem before.

Probably I have to try the command.

I too still have this problem on 5.2.0.20. I haven’t checked (and I can’t check now) if the connman fix is in place, and it should have worked.

But, for KPN/Simyo an easier work-around was presented here in the forum, without terminal hassle: in Mobile Network → Data access point → Access point name use internet4 instead of internet. This seems select the IPv4-only network. You can leave the protocol at Dual.