VoLTE on the Xperia 10 II - filling in the gaps

With the release of SailfishOS Vanha Rauma 4.4.0.68 with VoLTE support for the Xperia 10 II, we’re seeing many users able to register with IMS with their mobile providers, and so make VoLTE calls and send SMS messages over 4G. However, as the 10 II is an older device, the configuration is a little more manual than it was for the 10 III.

If you’re finding your 10 II doesn’t connect, there’s a chance this is just due to missing config mapping, and you might be able to help us submit the proper config to Sony for inclusion in a future release.

We’re very keen to get as many users up and running with VoLTE as possible. However, the process can be a bit technical and involved, so if you’re at all unsure, please ask here on the forum. We’ll try to help as best we can, and it may even be that someone else is already looking into your provider.

If you’re up for some investigation, here’s what you can do:

  1. Check the SIM config ID set by the modem switcher. Enter this into your console:

    getprop persist.vendor.somc.cust.modem0
    

    This should return a result with an S followed by some numbers. If you don’t get this, then your provider isn’t recognized by the switcher.

  2. Look in the following directory:

    /vendor/oem/modem-config/
    

    This has lots of subdirectories corresponding to those SIM config IDs, but there are a few missing. They each contain simple text files named modem.conf that point to the firmware modem config files. If you see yours already, then maybe give VoLTE a bit more time to work, or contact your operator as support should already be working. If you have no luck, then it’s possible it’s pointing to the wrong config.

  3. Try to find the corresponding modem config file in the following directory:

    /vendor/firmware_mnt/image/modem_pr/mcfg/configs/
    

    These files are part of the base Android firmware flashed by Sony’s EMMA tool that the Sony Open Device Program, stock Android and SFOS are using, and should represent the definitive list of every operator supported by the device. They’re loosely organised by region and country. If you see a match, or want to try a generic one, create a directory in the /vendor/oem/modem-config/ directory corresponding to your SIM ID and create a modem.conf file there that contains the relative path of the actual config file. Crucially, ensure there is no newline character at the end of the line. You can use echo -n to do this if you’re writing the file out from the terminal. Use the other files and our earlier PR as examples.

  4. Reboot your device and see if IMS (“4G calling”) manages to register. If so, let us know so we can collect all of the changes together to submit upstream for inclusion in a future release.

Note that none of this applies to any device other than the Xperia 10 II. The 10 III file structure is very different and there’s currently no VoLTE support for older devices such as the Xperia 10 or XA2.

And if you’re unsure, feel free to ask.

17 Likes

Would VoLTE support be possible anyway for these devices?

2 Likes

This directory does not exist on my phone, but the following does (underscore vs. dash):

/vendor/oem/modem-config

2 Likes

So if I got this right in my example this would be (as root):

[root@Xperia10II-DualSIM ~]# getprop persist.vendor.somc.cust.modem0
S114.1

Gives me the ID S114.1

Checking if there is a config shows that it does not yet exist:

[root@Xperia10II-DualSIM ~]# cd /vendor/oem/modem-config/S114.1
bash: cd: can't cd to /vendor/oem/modem-config/S114.1: No such file or directory

But do we have a modem file maybe:

[root@Xperia10II-DualSIM ~]# ls -l /vendor/firmware_mnt/image/modem_pr/mcfg/configs/mcfg_sw/generic/euro/vodafone/vlvw/uk/mcfg_sw.mbn 
-r--r-----    1 system   system       47944 Nov 17  2020 /vendor/firmware_mnt/image/modem_pr/mcfg/configs/mcfg_sw/generic/euro/vodafone/vlvw/uk/mcfg_sw.mbn

Looks like it exists. Now I can create the missing folder:

[root@Xperia10II-DualSIM ~]# mkdir /vendor/oem/modem-config/S114.1

And the configuration file:

[root@Xperia10II-DualSIM ~]# echo -n "mcfg_sw/generic/euro/vodafone/vlvw/uk/mcfg_sw.mbn" >/vendor/oem/modem-config/S114.1/modem.conf

After a reboot it looks like VoLTE is available now:

When receiving a call it seems not to drop to 2G/3G which may in turn indicate VoLTE may actually be working on Vodafone UK.
I perform some more tests and will update the list in VoLTE provider support

  • It seems to drop to 3G when placing a call
  • It seems to stay on 4G when receiving a call
5 Likes

Since I did the initial modem.conf with vi, I had the newline, @cybherphunks tip on echo -n was welcome.

But even without newline, registration for Telia EE (EMT) fails to complete after a reboot with updated modem.conf.

Carrier tech says everything should be all set on their end :man_shrugging:

I do get this registrationChanged response now, but not sure what it contains

Jul 15 15:13:12 Xperia10II-DualSIM ofonod[2766]: imsradio0 > 4 registrationChanged
Jul 15 15:13:12 Xperia10II-DualSIM ofonod[2766]:   0000: 76 65 6e 64 6f 72 2e 71  74 69 2e 68 61 72 64 77    vendor.q ti.hardw
Jul 15 15:13:12 Xperia10II-DualSIM ofonod[2766]:   0010: 61 72 65 2e 72 61 64 69  6f 2e 69 6d 73 40 31 2e    are.radi o.ims@1.
Jul 15 15:13:12 Xperia10II-DualSIM ofonod[2766]:   0020: 30 3a 3a 49 49 6d 73 52  61 64 69 6f 49 6e 64 69    0::IImsR adioIndi
Jul 15 15:13:12 Xperia10II-DualSIM ofonod[2766]:   0030: 63 61 74 69 6f 6e 00 00  85 2a 74 70 00 00 00 00    cation.. .*tp....
Jul 15 15:13:12 Xperia10II-DualSIM ofonod[2766]:   0040: c8 f0 f1 6e 73 00 00 00  30 00 00 00 00 00 00 00    ...ns... 0.......
Jul 15 15:13:12 Xperia10II-DualSIM ofonod[2766]:   0050: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00    ........ ........
Jul 15 15:13:12 Xperia10II-DualSIM ofonod[2766]:   0060: 85 2a 74 70 01 00 00 00  f8 f0 f1 6e 73 00 00 00    .*tp.... ...ns...
Jul 15 15:13:12 Xperia10II-DualSIM ofonod[2766]:   0070: 01 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00    ........ ........
Jul 15 15:13:12 Xperia10II-DualSIM ofonod[2766]:   0080: 08 00 00 00 00 00 00 00  85 2a 74 70 01 00 00 00    ........ .*tp....
Jul 15 15:13:12 Xperia10II-DualSIM ofonod[2766]:   0090: 00 f1 f1 6e 73 00 00 00  01 00 00 00 00 00 00 00    ...ns... ........
Jul 15 15:13:12 Xperia10II-DualSIM ofonod[2766]:   00A0: 00 00 00 00 00 00 00 00  20 00 00 00 00 00 00 00    ........  .......

Indicator just keeps flashing. What next?

I think just wait and see, unless you think another config might work, like a generic one. Do they say the x10 II should work?

They did ask for phone model, and did not say it should not work…

I’ll try another config soon, too.

Hi Andrew

Thanks for the guide. It worked for me.

getprop persist.vendor.somc.cust.modem0 returned S20.1

There was no directory called this.

I found a config for EE in UK on the phone

/vendor/firmware_mnt/image/modem_pr/mcfg/configs/mcfg_sw/generic/euro/ee/vlvw/uk/mcfg_sw.mbn

I made the missing directory - mkdir /vendor/oem/modem-config/S20.1

and added modem.conf file with the contents

mcfg_sw/generic/euro/ee/vlvw/uk/mcfg_sw.mbn

Now showing as VoLTE registered.

3 Likes

It should be modem.conf file.

1 Like

It looks like a conf for S77.2 already exists, thus this is another issue entirely? How can we help with that? Did someone already contact O2 (Germany only?)?

Which modem config path does it point to? Is it correct?

I have virtual operator Fello (https://www.fello.se), which uses Telia’s network, but I get no id. How can I solve this?

In secondary slot I have Telenor SE (S58.1), but haven’t had any luck in register to VoLTE there.

Both operators support VoLTE according to their information.

Edit: and looking at operator support (VoLTE provider support) Fello is supported on the Xperia 10 III, so there has to be something I can do to fix this :slight_smile:

Thanks, li fixed it he typo

It links to …/de/… But only …/cz/… available. (is there a nice way to copy something from the terminal?)

I tested with Three UK. For anyone else using or thinking about going with Three, on the Xperia 10 III it worked immediately, but on the 10 II it required a modem.conf mapping:

devel-su
mkdir -p /vendor/oem/modem-config/S21.1
echo -n "mcfg_sw/generic/euro/hutch/vlvw/uk/mcfg_sw.mbn" >> /vendor/oem/modem-config/S21.1/modem.conf

After doing this, calls and SMS messages work nicely on 4G.

3 Likes

Ok, this is a lot harder. There’s a big XML file mapping all of the MCC and MNC ids to those config IDs that you can find in /usr/share/sony-modem-switcher/service_provider_sim_configs.xml. I’m not entirely sure where you get those two values from, but I think they can be coaxed out of ofono somehow. Then I reckon mcfg_sw/generic/euro/telia/vlvw/swe/mcfg_sw.mbn might be what you need. Telenor already seems to be configured correctly, but I guess you could try it in the other slot?

Ok, I used to have access to a modem with AT-interface, where I could find out those numbers, but unfortunately I don’t have that currently. But at least I now know what I’m looking for. When I found them out, how do I know what “S”-number to map it to?

And I’ll try to swap the Telenor SIM to another slot to see if that works better.

Yeah the S id is a pain. I think I found some other similar files on Github. Might have some extra entries, especially in more recent versions.

Edit: if you do dbus-send --system --print-reply --type=method_call --dest=org.ofono /ril_0 org.nemomobile.ofono.SimInfo.GetSubscriberIdentity then the MCC should be the first three digits, and the MNC (MCRN??) the second two. I think.

1 Like

Yes, seems correct, but looking at the numbers the Fello use are Telia’s (“240 01”), so it should work out of the box.

[root@Xperia10II-DualSIM defaultuser]# dbus-send --system --print-reply --type=method_call --dest=org.ofono /ril_0 org.nemomobile.ofono.SimInfo.GetSubscriberIdentity
method return time=1657973867.099315 sender=:1.12 -> destination=:1.610 serial=4713 reply_serial=2
string "24001XXXXXXXXXX"
[root@Xperia10II-DualSIM defaultuser]# dbus-send --system --print-reply --type=method_call --dest=org.ofono /ril_1 org.nemomobile.ofono.SimInfo.GetSubscriberIdentity
method return time=1657973893.461479 sender=:1.12 -> destination=:1.611 serial=4717 reply_serial=2
string "24008YYYYYYYYYY"

Wonder why I don’t get an S number for my Fello SIM.

okay, I don’t know what I found earlier, but the diagnose, that there is only configuration for tef_o2/cz seemed to be wrong.

All files are apparently there, but it is still not working yet:

$ ls /vendor/firmware_mnt/image/modem_pr/mcfg/configs/mcfg_sw/generic/euro/tef_o2/vlvw/de/
mcfg_sw.mbn  -lah
-r--r-----    1 system   system     45.0K Mar 30  2021 /vendor/firmware_mnt/image/modem_pr/mcfg/configs/mcfg_sw/generic/euro/tef_o2/vlvw/de/mcfg_sw.mbn
$ cat /vendor/oem/modem-config/S77.2/modem.conf
mcfg_sw/generic/euro/tef_o2/vlvw/de/mcfg_sw.mbn

Edit: Netmon shows its working now… (after a reboot, including hard reset with power+vol up). Doesnt work when i call my mailbox however

2 Likes