Tethering not working on rooted phone (both WiFi and USB), free third-party apps also fail I recently rooted my Huawei GL07S and switched to an operator which explicitly allows tethering (I inserted the new SIM card into the GL07S).

When I go to Settings>Wireless&amp;Networks>Tethering&amp;Pocket WiFi I get this screen:



"Pocket WiFi" is a term used by my previous operator to describe tethering, I suspect them of having modified it to work only on their network. I can't use CyanogenMod/similar as they don't support the GL07S, which is a rare phone.

Default USB Tethering

When I press "USB tethering", the white circle becomes green with a check, and Pocket WiFi active or Tethering appears in the notification bar, but the connected Ubuntu does not see any connection:



Default WiFi Tethering

Alternatively, when I press "Pocket WiFi", the item becomes grey, the caption becomes Turning Wi-Fi on…, and it stays like this forever:



Meanwhile adb logcat keeps outputting things like forever (longer log):

E/WifiStateMachine(  341): DefaultState: cannot get Soft AP current connected stations list
D/WifiService(  341): getApLinkedStaList
I/TetherSettings(17288): set PROPERTY_USBTETHERING_ON: false
I/WifiApEnabler(17288): set iswifihotspoton = true


To get it back from its grey state, the only solution is to restart the phone.

Barnacle Wifi Tether

When I press Start, I get:



Open Garden WiFi Tethering

When I press Start Open Garden Tethering I get this crash:



... and logcat says:

D/TETHER -&gt; TetherApplication( 4591): Reporting stats: {fbon=false, ffox=false, nflt=true, fbok=0, root=true, phon=true, fbau=false, aid=e2a4f1ff707f9812, inst=1433847285, ertm=false, coac=0, sfap=true, c2dm=false, aver=4.1.2, side=1, mno=NTT DOCOMO, blth=true, setu=default, tver=47, rssc=0, bdwn=0, devi=default, asdk=16, imei=869065010878620, fbcr=0, pkg=og.android.tether, dtyp=generic, loc=35.6653574,139.733107, fbco=0, widg=0, fber=0, stat=1, comc=0, bup=0, mfr=HUAWEI, idrv=wext, temp=360, bin=true, uuid=E2A4F1FF-707F-9812-021X-XR2136017743, actl=true, tpow=true, mdl=GL07S}
D/TETHER -&gt; TetherService( 4591): Service started: true, state: 1
D/TETHER -&gt; TetherApplication( 4591): onlyEncryptionOrNothingFailed()
E/AndroidRuntime( 4591):        at og.android.tether.TetherApplication.displayToastMessage(TetherApplication.java:1341)
E/AndroidRuntime( 4591):        at og.android.tether.TetherApplication.readLogfile(TetherApplication.java:1421)
E/AndroidRuntime( 4591):        at og.android.tether.TetherApplication.onlyEncryptionOrNothingFailed(TetherApplication.java:1438)
E/AndroidRuntime( 4591):        at og.android.tether.TetherService$1.run(TetherService.java:256)
D/TETHER -&gt; ServiceReceiver( 4591): onReceive:Intent { act=og.android.tether.intent.STATE flg=0x10 cmp=og.android.tether/.TetherServiceReceiver (has extras) } state:1
D/TETHER -&gt; TetherApplication( 4591): Reporting of stats complete
W/ActivityManager(  349): Scheduling restart of crashed service og.android.tether/.TetherService in 5000ms


[ClockworkMod][8]

ClockworkMod is the only tethering app that works reliably (over USB). It is not free, though, so I would like to make it work with the built-in solution or with the open source Barnacle.

EasyTether

It has worked the first time I tried it. Since then, no way to use it anymore, it always says cannot claim USB interface: Device or resource busy.

FoxFi

When I push Activate WiFi Hotspot, it says WiFi Hotspot Ready, I can connect to the WiFi network from Ubuntu, but unfortunately all HTTP and HTTPS requests fail:

$ ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
From 192.168.43.1 icmp_seq=1 Destination Net Unreachable

Actually, the phone itself also loses Internet connectivity:



Question

What is going wrong?
How can I use Internet on my Ubuntu using my phone's LTE data connection? (preferably without having to install a computer-side agent)
It always says cannot claim USB interface: Device or resource busy


This is because you have adb running in your system. ADB opens USB interface so no other app can access it. Stop adb either with killall adb or using adb kill-server (assuming the adb binary is in your PATH).