Make virtual providers work with your smartwatch

Unfortunately Google does not - different to the Android phone version - allow the adding of APN’s manually in Android Wear at the time of writing. This is a big problem because in many countries MVNOs - so called mobile virtual network operator operate. They don’t have their own network but use existing infrastructure from other providers in order to provide mobile services. Also in Austria we have a lot of them and they are used by a lot of people. Some local examples are the providers Hot (uses T-Mobile’s network), Yesss (uses A1’ network) and Spusu (uses Drei’s network).

When inserting a virtual providers’ SIM in your Android Wear smartwatch, it will most likely not be able to connect to the network, due to the lack of a fitting APN. In this short blog post I want to show you how I was able to get my virtual provider’s SIM working on my Huawei Watch 2 4G.

The follwing steps are involved:

rooting the smartwatch

adding the APN via the ADB shell

Rooting the smartwatch

Yes, indeed! There is so far no option to do this without root! Check xda-developers if root is available for your smartwatch. In case of the Huawei Watch 2, luckily there is one. Follow the instructions from this post.

Add the APN via the ADB shell

After rooting successfully we can add the provider via the ADB shell. Assuming you have ADB already installed after rooting, we continue without going into install instructions. Run the ADB shell by

adb shell

Next enter the root mode by entering

su

With

content query --uri content://telephony/carriers --where "name='yourprovider'"

you can now check whether an entry for your provider exists. Replace yourprovider with your actual provider’s name.

If it doesn’t exist we can now add it via

content insert --uri content://telephony/carriers --bind name:s: "yourprovider" --bind numeric:s: "yourmccmns" --bind type :s: "default,sulp" --bind mcc:i:yourmcc --bind mnc:i:yourmns --bind apn:s: "yourapn" --bind user:s: "yourusername" --bind password:s: "yourpassword"

Replace yourprovider with the name of your provider - it’s the same name you will use to query the entry, yourmccmns is your provider’s MCC and MNS combined. You should be able to find both in the internet - if not then my advice is to enter the SIM in your phone, usually there you will have the APN configured so you can just check the data there! yourmcc is the MCC only and yourmns is the MNS only as discussed. Finally replace yourapn, yourusername and yourpassword with your provider’s data. Launch the command and check whether the APN was added succesfully by running the query from the paragraph before again.

Finally put your smartwatch into airplane mode and disable it again. Voila! We have 4G working on the Huawei Watch 2 4G with a MVNO!

Here the commands I used succesfully for the Austrian Provider spusu:

content query --uri content://telephony/carriers --where "name='spusu'"

for checking whether the entry exists and

content insert --uri content://telephony/carriers --bind name:s: "spusu" --bind numeric:s: "23217" --bind type :s: "default,sulp" --bind mcc:i:232 --bind mnc:i:17 --bind apn:s: "mass.at" --bind user:s: "" --bind password:s: ""

to add it. I tried the same approach with another virtual provider (Yesss) as well and it worked fine too.