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 ten 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.
I'm developing a desktop monitoring app, Leaf Node Monitoring, open source, but paid. 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 $100 credit for 60 days.
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
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
[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~ --> 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 188.8.131.52 --> remote IP address 10.32.32.32 --> primary DNS address 184.108.40.206 --> secondary DNS address 220.127.116.11
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