Skip to main content

Raymii.org Raymii.org Logo

Quis custodiet ipsos custodes?
Home | About | All pages | Cluster Status | RSS Feed

Tether your Sonim XP3 phone with Linux

Published: 08-02-2011 | Author: Remy van Elst | Text only version of this article


❗ This post is over thirteen years old. It may no longer be up to date. Opinions may have changed.

This guide works for the Sonim XP3.20 Quest (Pro).
I also have an Android Phone which had an option to share the Internet Connection via USB and/or Wifi.
This was one of the features I missed on the Sonim. The phone itself is awesome, but that is not in the scope of this guide.

Recently I removed all Google Ads from this site due to their invasive tracking, as well as Google Analytics. Please, if you found this content useful, consider a small donation using any of the options below:

I'm developing an open source monitoring app called Leaf Node Monitoring, for windows, linux & android. Go check it out!

Consider sponsoring me on Github. It means the world to me if you show your appreciation and you'll help pay the server costs.

You can also sponsor me by getting a Digital Ocean VPS. With this referral link you'll get $200 credit for 60 days. Spend $25 after your credit expires and I'll get $25!

It is also tested with the newer Sonim XP1300 Core. Please note that some providers not allow you to tether your phones internet connection, and this may cost you a lot of money if you go over your monthly bundle. Also you need to have internet setup on your phone already. This guide was written and tested on Arch Linux with Kernel 2.6.36-ARCH , but I think it will be usable on more distributions.
First install wvdial:

pacman -S wvdial

Then plugin you Sonim and see on which tty it is detected:

dmesg | grep tty 

You need to see something like this:

cdc_acm 5-1:1.1: ttyACM0: USB ACM device
usbcore: registered new interface driver cdc_acm
cdc_acm: v0.26:USB Abstract Control Model driver for USB modems and ISDN adapters
scsi 8:0:0:0: Direct-Access     Philips  Dev. 0 LUN 0     1.0  PQ: 0 ANSI: 0 

Now we have the tty (/dev/ttyACM0). This is all we need for the wvdial.conf file:

sudo nano /etc/wvdial.conf 

Paste this in there:

[Dialer Defaults]
Modem = /dev/ttyACM0
Modem Type = Analog Modem
ISDN = 0
Baud = 115200
Username = tmobile
Password = tmobile
Init1 = ATZ
Init2 = AT&&F E1 V1 X1 &&D2 &&C1 S0=0
Dial Attempts = 1

[Dialer internet]
Phone = *99***1#
Stupid Mode = 1
Init3 = AT+CGDCONT=1,"IP","internet" 

My provider is T-Mobile NL, and their APN is "internet", with login "tmobile" and password: "tmobile".

Change any of these values to your needs, look for them on your providers website. Now save with CTRL+O and quit with CTRL+X, and see if it works:

sudo wvdial internet 

Result:

[remy@solaris3 ~]$ sudo wvdial internet
--> WvDial: Internet dialer version 1.61
--> Cannot get information for serial port.
--> Initializing modem.
--> Sending: ATZ
ATZ
OK
--> Sending: AT&&F E1 V1 X1 &&D2 &&C1 S0=0
AT&&F E1 V1 X1 &&D2 &&C1 S0=0
OK
--> Sending: AT+CGDCONT=1,"IP","internet"
AT+CGDCONT=1,"IP","internet"
OK
--> Modem initialized.
--> Sending: ATDT*99***1#
--> Waiting for carrier.
ATDT*99***1#
CONNECT
~[7f]}#@!}!}!} }2}"}&&} }*} } }#}$@#}'}"}(}"U[03]~
--> Carrier detected.  Starting PPP immediately.
--> Starting pppd at Thu Jan 13 23:20:32 2012
--> Pid of pppd: 14319
--> Using interface ppp0
--> local  IP address 21.98.132.87
--> remote IP address 10.32.32.32
--> primary   DNS address 8.8.8.8
--> secondary DNS address 8.8.4.4 

Bazinga! You can now surf via your Sonim phone via your 3g / 2g / egde or GSM connection. (Check via /sbin/ifconfig).

Tags: arch-linux , modem , ppp , sonim , sonim-xp3 , tether , tutorials , wvdial