[App-Mod/Source] WifiTether for JB TouchWiz Roms

Search This thread

jerryp7

Senior Member
Feb 20, 2011
408
56
Front Royal, VA
I'm using a SG3 on Sprint with rooted stock JB. Figured out my "WTH your phone took control" errors. It would work okay for a few seconds to several minutes but wasn't predictable. Wireless optimization was off. I couldn't find any other apps to worry about so went back through settings.

Disabled: Settings->Location Services->Use wireless networks

Bingo. No more WTH errors.

The longer connections showed one more source of problems, when I have to wake up the display after it dims. Pressing the power button wakes the the display with an immediate WTH error. Extended my display timeout and all is fine.

Thank you TrevE!

Which version of the app is working for you? I'm using the 11/18 and it works but it just doesn't seem "solid".
 

cyrnel

Member
Jan 16, 2012
7
7
Which version of the app is working for you? I'm using the 11/18 and it works but it just doesn't seem "solid".

Right, that would be 11_22_2012. I almost tried 11/18 but stopped after discovering that disabling wifi location services helped.

My expectations aren't that high, given all the tethering problems I've had since the JB update arrived. With TrevE's mod, tethering has remained up for 40-odd minutes (longest I've tried so far) where 2 minutes was rare before.
 

Reeseybaby

Senior Member
Jan 11, 2011
131
3
Problem! Why after about 20 mins playin on my ps3 through this app my network get disconnected & da wifi sign disappear i got frustrated & stop playin my ps3.

Sent from my SPH-L710 using xda app-developers app
 

jerryp7

Senior Member
Feb 20, 2011
408
56
Front Royal, VA
Right, that would be 11_22_2012. I almost tried 11/18 but stopped after discovering that disabling wifi location services helped.

My expectations aren't that high, given all the tethering problems I've had since the JB update arrived. With TrevE's mod, tethering has remained up for 40-odd minutes (longest I've tried so far) where 2 minutes was rare before.

Thanks. After last night though I might just stick with my 11/18. I DL a movie to my tablet via Dropbox and it stayed connected for HOURS (Sprint is sooo frustratingly slow but less annoying when I'm sleeping - lol). One thing I changed was the DNS to Open DNS http://www.opendns.com/opendns-ip-addresses these are 208.67.222.222 and 208.67.222.220. Try that and if connection time improves please let me know. Others may get better mileage with this too and it's easy enough to try.
 

cherry919

Member
Feb 10, 2011
12
2
Working on VZW Rooted, Stock K1 leak

I can confirm that the 'reload 2' option works on vzw galaxy s3 and doesn't block enabling of wifi afterwards. I hadn't tethered for longer than 10-15 minutes though so can not report on stability but it seemed solid.

Thanks TrevE and Dunderball. I second Dundeball's findings. Tethers great and wifi works fine after stopping tether. I'm using the 11-22 version and the only changes I made were to enable encryption and set "reload 2" option. I'm running the 11-20 version of open1your1eyes0's Stock, rooted VLBLK1 leak. Thanks again.
 

ZenInsight

Senior Member
Jun 29, 2010
1,191
92
Kansas City
THANK YOU!!! After reading through this I added Super Su and it works perfectly on my Sprint (Stock rooted) S3. This will make my daughter (2.5) very happy since we can watch Mickey videos on her tablet now when driving!

My daughter is version 3.5

We hope to upgrade to 4.0 soon as 3.5 has a lot of "no!" exception error responses when inputting commands.


Edit: Strangly enough, when we used to run the program Ice Cream Sandwich in the past...we never got those exception errors. Odd.
 

seanvree

Senior Member
Jan 7, 2009
1,147
112
Seattle
Samsung Galaxy S10e
So this app works beautifully, however after about a week of using this app I started to get Push messages from T-mobile stating "smartphone mobile hotspot (tethering) access has been blocked (see screen shot).

I thought we didn't need the service to use this app?!
 

Attachments

  • Screenshot_2012-11-28-16-14-50.jpg
    Screenshot_2012-11-28-16-14-50.jpg
    35.9 KB · Views: 388

open1your1eyes0

Senior Member
Dec 13, 2010
2,651
3,671
New York City
So this app works beautifully, however after about a week of using this app I started to get Push messages from T-mobile stating "smartphone mobile hotspot (tethering) access has been blocked (see screen shot).

I thought we didn't need the service to use this app?!

T-Mobile is special. They don't block apps but they actively monitor your web traffic to make sure you aren't using a desktop web browser. If you tether using an Android tablet for example all your websites will work. I figured the only work around which I have been using is implement my own VPN server at home (I do my own because I don't trust free public ones with my bank data etc...but you can use them if you want). They idea is whatever device you connect to your phone that you want to use the tether connection from just join the VPN and that way it secures the traffic so T-Mobile can't tell if you're using a desktop web browser or not as it's all encrypted.
 
  • Like
Reactions: fireboypr

fireboypr

Senior Member
Dec 1, 2008
182
22
T-Mobile is special. They don't block apps but they actively monitor your web traffic to make sure you aren't using a desktop web browser. If you tether using an Android tablet for example all your websites will work. I figured the only work around which I have been using is implement my own VPN server at home (I do my own because I don't trust free public ones with my bank data etc...but you can use them if you want). They idea is whatever device you connect to your phone that you want to use the tether connection from just join the VPN and that way it secures the traffic so T-Mobile can't tell if you're using a desktop web browser or not as it's all encrypted.

Can you point out how to do that?? And thank you very much for that information.

Sent from my SGH-T999 using xda app-developers app
 

open1your1eyes0

Senior Member
Dec 13, 2010
2,651
3,671
New York City
Can you point out how to do that?? And thank you very much for that information.

Sent from my SGH-T999 using xda app-developers app


Quick guide to create your own VPN server

The router port forward is important but that will be up to you guys to setup since all routers are different but the idea is the same "a rule that forwards port 1723 to the local IP address of your VPN computer".

Also: How to connect to VPN using a Windows 7 device (desktop/laptop)
 
  • Like
Reactions: ndwgs and fireboypr

mxl180

Senior Member
Nov 2, 2008
678
108
so far with Sprint Note 2 stock rom / pegasus kernel. Wifi reload #2 works.

BUT... it automatically stops by itself from time to time and I have to manually start tethering again.
 
Last edited:

rkf1957

New member
Apr 14, 2011
1
0
Thank you

Just activated my first rooted phone today. (Swappa purchase) I am running Cleanrom 5.0. It has super SU. Installed v11-22, enabled encryption, wifi driver reload 2 and everything worked like a champ. Tried it with my laptop and Nexus 7. Carrier-Verizon Thanks so much!!!
 

eyecon82

Senior Member
May 30, 2010
2,361
1,693
if you accidentally turn on wifi on the 22 version, it kills wifi all together unless you restart

doesn't do that on version 18...im going back to that again
 
  • Like
Reactions: Carpediem06

mystery_tx_man

Senior Member
Dec 30, 2010
480
122
San Antonio, Tx
Those who have sprint phones and are having wifi tether disconnect, you need to disable sprint connection optimizer in settings or you can remove the connection manager.apk in system/apps.
 

jerryp7

Senior Member
Feb 20, 2011
408
56
Front Royal, VA
doesn't do that on version 18...im going back to that again

+1
Since version 18 doesn't support encryption, this morning I tried V2 and V3 (with wi-fi off) and both would only only work for about 20 seconds.
It was a pita but I uninstalled before each new install etc... Maybe I'm missing a setting.

I think we need a "Sprint survey" of who has what working and if it's not 18 what their setting are. I would like encryption but it doesn't work with 18 that I can tell otherwise I really wouldn't care.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 275
    Before we start I have to throw out props to Eschelon, NxtGenCowboy, Virus, Ziggy471 and of course to the wifi-tether guys as well as cyanogen for the needed source/binaries (pre-11/18 versions) which allowed me to find the right path to get this 100% working. Also had awesome testers proxhack / jlmr731 and especially joshbeach. They all were essential to getting this all working. I still don't have a GS3 so poor Eschelon/NxtGenCowboy probably wiped/installed about 100 builds before this worked (and after when I lost source... grumble). Thanks to everyone that helped.

    Legal/GPL Stuff
    Carriers hate tethering, you all know that. Use at your own risk/with common sense & dont blame me for anything that goes wrong :)

    WifiTether is under the GPLv3 license, so below is the source for the mods
    Code:
    Original Source - https://code.google.com/p/android-wifi-tether/
    Modded Source - http://svn.ziggy471.com/treve-tether


    Configuration:
    *Latest Build recommended, these are just a few devices I have tested on*

    Setup-Method:: (auto should have right defaults, might need to force)
    Galaxy S3 - Netd-ndc with driver reload 2
    Evo 3d SoftAP with driver reload 2
    Sensation SoftAP with no driver reloads
    Evo 4g SoftAP with no driver reloads

    Other Settings
    -Device-Profile: Leave this on auto (default)
    -Netdndc Max Client Cmd: Required for GS3ish devices. If not enabled you will likely get an AP but cannot connect.
    -MSS clamping: on (default)
    -Routing fix: on (default)

    Heres some geek details on basic binaries how the backend of wifi-tether works. The main modes I played with and required files are as detailed below:
    Code:
    [B]Netd-ndc mode[/B] (Wifi Tether JB Default)
    -/system/bin/ndc (wrapper for netd)
    -/system/bin/netd (actual netd service)
    
    --Commands Executed
    /system/bin/ndc softap stopap
    /system/bin/ndc softap stop wlan0
    /system/bin/ndc softap fwreload wlan0 AP
    /system/bin/ndc softap start wlan0
    /system/bin/ndc softap set wlan0 wlan0 SSID encryption key channel (maxclients) 0 8
    /system/bin/ndc softap startap
    /system/bin/ndc interface setcfg wlan0 192.168.2.254 255.255.255.0 up 
    
    
    [B]Netd mode[/B]
    -/system/bin/netd (netd service)
    
    --Commands are basically the same as above, but direct to netd service
    
    [B]HostAP mode[/B] (used by stock tether app/fallback mode)
    -/system/bin/hostap (hostap service, init.qcom.rc looks for config /data/hostapd/hostapd.conf)

    New Options
    Framework Tether(Fallback)
    Use this if you have issues with wifitether mode. It forces on a wifihotspot using just framework. This has been reported to not throw up the paywall nag screen on some devices/carriers but YMMV. It may be able to be used nonroot as well if you ignore the initial warning.

    Send NetdNDC Max Client CMD
    This modifies the standard ndc command string to add in the Max Client parameter. More details are in post here

    Wifi-Driver reload
    This is the standard driver reload for wifi tether. It runs inside one script "./tether start|stop".

    Wifi-Driver reload 2
    This is a modified command that reloads firmware in a separate su request before the tether-edify code is run. May require SuperSU.apk

    Use Cyanogen Hostapd Binary
    This is the old method and is totally removed stating with the 11/20 update

    The hostapd binary contained in atleast touchwiz JB contains extra fields explained above. If the extra commands are not working on X device you can try to fall back to this binary. This uses a dirty hack which installs hostapd and symlinks between versions for native or WifiTether mode. As long as you start and stop wifitether things should always line up. If you get into an issue where you crash things might get out of sync but should fix themselves next toggle of wifi tether. I have also added in menu items for the gs3 to manually swap binaries around.

    *You must have a proper setup busybox for the GS3 code to work right. It moves system files around - you might win a reflash if things really go bad*
    *Cyanogen Hostapd Symlink option only*- Make a system backup, it modifies sys files so theres a chance it will break something



    Bugs
    • You might have to toggle stuff on and off once first if you run into errors. I think there's an error on first creation of config
    • If you switch modes between native wifitether and fallback mode (or stock tethering), your phone may spontaneously combust(wifi crashes) after the routing mess that ensues. Just reboot and you'll be all set again.
    • Seems to work better on SuperSU - Probably due to the per-app permissions vs per command.



    Download:
    **EVERY BUILD YOU MUST UNINSTALL OLD VERSIONS FIRST OR ATLEAST CLEAR APP DATA, IT DOES NOT UPGRADE NICELY**
    -If you have problems, scroll down and read FAQ in post2 before posting

    WifiTether-TrevE_Mod_04-17-2013.apk - Link Soon


    Older Versions:
    WifiTether_TrevE_Mod_11_22_2012 (defaults to Wifi Driver Reload 1) - http://www.androidfilehost.com/?fid=9390195663897100312
    WifiTether-TrevE_Mod_11_22_2012_driverReload2 (defaults to Wifi Driver Reload 2) - http://www.androidfilehost.com/?fid=9390208427046731813

    Try to merge together what worked for everyone across different devices. There are 2 options in settings with mild enhancements
    -Wifi-Driver Reload - Driver reload inside of tether script. Similar to 11/20 version
    -Wifi-Driver Reload 2 - Driver reload outside of tether script. Similar to 11/18 version

    Please report in with Carrier/Device and what option works best for you. Valid combinations are no reloads checked or one of the reload methods. Do not check both (theres no code to stop you from doing it now)
    There is no code differences between the two apk versions, I just recently added in reload method 2 so rom devs can cook in whatever apk just works without changing settings.

    Apparently I botched code along the line somewhere between 18-20. Please let me know which one of these versions you are on and what works.

    WifiTether_TrevE_Mod_11_20_2012_insmodv3.apk - If v2 doesnt work this should - http://www.androidfilehost.com/?fid=9390169635556426691
    If insmod v2 doesnt work, insmod v3 switches to insmod on load, rrmod to unload, then reloads the driver when finished with with mfgloader -u / mfgloader -l

    WifiTether_TrevE_Mod_11_20_2012_insmodv2.apk
    - Hopefully working- http://www.androidfilehost.com/?fid=9390169635556426686
    Driver Reload did not like loading with mfgloader in original build. This switches to insmod on load, mfgloader/rrmod to unload, then reloads the driver when finished with mfgloader -u / mfgloader -l

    WifiTether_TrevE_Mod_11_20_2012.apk - Broken - Thanks halmo20 for catching that

    GS3/E3D driver load/unload methods cleaned up, wifi driver reload checkbox should now be used, it was forced previously in code.

    NetDndc Max client mode ported down to netd as well. Setting enables/disables with netd
    all superuser code removed outside of tether binary, should have less popups for non-supersu users
    Framework tether mode moved to setup
    Fixed settings being applied reverting user settings at first start
    All Cyanogen hostapd binary leftovers removed
    Busybox check removed




    WifiTether_TrevE_Mod_11_18_2012.apk - http://www.androidfilehost.com/?fid=9390190389996027907
    Bam - Symlinks gone by default thanks joshbeach for all testing
    New option Netdndc Max mode, this should be devices default setting.
    Encryption works starting this build with netdndc max mode


    WifiTether-TrevE_Mod_11-17-2012.apk - http://www.androidfilehost.com/?fid=9390188424645836869

    cut down symlinks to only move hostapd around.
    Made a checkbox that controls symlink code. Trying to axe it all. Moved this and fallback to settings screen. now save/load
    define wifi.interface where it is undefined like on t0ltespr (hack to wire it to ndc settngs)
    try to work with t0ltespr's /lib/ directory
    cut down root code significantly (hopefully spam/timing issues resolved)

    WifiTether_TrevE_Mod_11_15_12.apk -
    Code cleanup
    e3d code driver reload mess moved
    samsung symlink mess in separate class, hoping to ditch this all soon
    fallback mode in separate class, wired up to wifitether settings (encryption should work)


    WifiTether_TrevE_Mod_11_12_12.apk - http://www.androidfilehost.com/?fid=9390169635556426338
    ***This app is signed with my certificate, you will need to uninstall old versions of wifitether first to use this***
    40
    FAQ


    Debugging Issues

    For those people having issues on other gs3 like devices / roms / whatever I do not even have a gs3 so this is all blind. To try to help debugging I created a script to hopefully grab information needed. This should help from both working/nonworking devices to help eliminate the stupid symlink code and fix up other devices.

    The scripts point is to try to get a working AP. If you can post how you did it and we can get source changed. By default it does no driver reloads and starts an Open AP with SSID TrevScript.

    First grab the latest script from svn (ill update it with more info after I get some logs so make sure you have latest)

    http://svn.ziggy471.com/treve-tether/ grab tetherdebug.sh
    Code:
    adb push tetherdebug.sh /system/xbin/
    adb shell chmod 755 /system/xbin/tetherdebug.sh
    adb shell busybox dos2unix /system/xbin/tetherdebug.sh

    Make sure wifi is on but do not start witfitethering. All you want to do is run "Set Binaries to WifiTether" option in the menu of app then follow below code

    Code:
    adb shell su -c tetherdebug.sh
    adb pull /data/local/tmp/tether.log
    rename the file to tether_wifibinaries.log. Check to see if any AP is available.


    now run "Set Binaries to Native" option in app and reboot device
    adb reboot

    When the device comes back up, rerun the script.
    Code:
    adb shell su -c tetherdebug.sh
    adb pull /data/local/tmp/tether.log
    rename the file to tether_nativebinaries.log. Check to see if any AP is available.

    reboot after you get the file.
    adb reboot

    ADVANCED
    If you know what you are doing you can try to find a working combo. I added in the following command line args

    ARG1 = ENCRYPTION. NONE/WPA2
    ARG2 = DRIVERRELOAD. NONE/insmod/mfgloader
    ARG3 = DRIVERTOLOAD. /system/lib/modules/dhd.ko (or whatever module is, required if ARG2 is set)


    Examples:
    Make sure wifi is on but do not start witfitethering. All you want to do is run "Set Binaries to WifiTether" option in the menu of app to start with a known working base then follow below code

    try no encryption with insmod where your wifi module is /system/lib/modules/dhd.ko
    Code:
    adb shell su -c tetherdebug.sh NONE insmod /system/lib/modules/dhd.ko

    try no encryption with mfgloader where your wifi module is /system/lib/modules/dhd.ko
    Code:
    adb shell su -c tetherdebug.sh NONE mfgloader /system/lib/modules/dhd.ko

    try wpa2 (password is Trev) with insmod where your wifi module is /system/lib/modules/dhd.ko
    Code:
    adb shell su -c tetherdebug.sh WPA2 insmod /system/lib/modules/dhd.ko

    There shouldn't be personal information in the debug logs, the most I can think of that would be displayed is if you have an encryption passphrase set in wifitether. Sending the 2 files named with what mode you were in will help get it going elsewhere and hopefully kill the symlink code
    11
    askldfjalskdnflkasf
    10
    mineeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee :)
    9
    Guess androidfilehost is down