I discovered that the tethering functionality on my Optimus G was a pain to enable. After trying pretty much every free app on the Play Store that claimed to do hotspot, I discovered that AT&T must have a LOT of pull with LG. Unlike the popular samsung galaxy devices, you couldn't just download a hotspot toggle and be done with it. Also, FoxFi didn't work either (or at least the trial didn't).
Then I found a tethering app that required root. It worked after rooting my phone, but I couldn't get the WiFi back up afterwards without a restart. So in the end, I decided to get the built in tethering functionality to work. More after the jump.
OK. So for this tutorial you are going to need a rooted AT&T LG Optimus G. Also, you are going to need the USB drivers (which you should have installed to root) as well as ADB (can be found in the Universal Root zip you downloaded to root your phone).
Let's get started.
- With your rooted device, download SQLite Installer for Root Use the app to download the latest version of SQLite in the default place. The installer will be asking for root access, that's fine.
- This is important. Go into settings and try to turn on hotspot. It will check with AT&T and subsequently fail to enable.
- With USB debugging on, plug the phone into your computer and go into the command line and start up adb shell. Once in the phone's shell, type su and then open your phone to give it root access.
- Type: cd /data/data/com.android.providers.settings/databases
- Type the following to open settings.db: sqlite3 settings.db
- Type this query EXACTLY: update system set value=0 where name='tether_entitlement_check_state';
- Close sqlite by typing (there is a dot in front): .quit
- Type 'exit' three times and close the shell
- Restart the phone.
- Try to turn on hotspot (or bluetooth tethering or USB tethering if you plug your phone in). You might get a warning about how tethering drains the battery, just ignore it and hit ok.
- Success :D