EasyTether Disconnection Bug

I've been working on developing a router build using EasyTether. Back two months ago I posted a thread talking about an "I/O Error" I was getting. I've since been able to get that fixed so I'm not getting a hardware disconnection.

The problem I'm now being faced with, is it will randomly disconnect me from the internet, generally for around 2 minutes, during which I cannot load any new pages. However, last night I had it disconnect me for over 3 1/2 hours. During that time I did a lot of testing, and here's all the info I've been able to compile about the disconnection bug:

  • When I ping the EasyTether interface (192.168.117.1) it takes between 2-12ms. There's no difference in the ping time or latency if the bug is happening or not.
  • I can ping the router and it gives me < 1ms latency. That doesn't change either.
  • It's not carrier related, because I've had it happen with or without a VPN running on the phone. I also turned on the VPN on the my phone during one of the times of disconnection and it didn't solve the problem.
  • Live connections are completely unaffected. During the 3 1/2 hour disconnection last night, I had a Minecraft Server, Zoom Call, and YT Live Video playing. (I started all three services and just left them open waiting for the disconnect bug to happen.) An interesting note on this, is I've never had live connections open previously, and I've also never had the disconnect bug last for more than 2 minutes. This time I had 3 live connections open, and the disconnect bug lasted until I changed the MTU from 1500 to 1464, which then reset the network connections.
  • I'm able to send and receive messages on Slack during the disconnect bug. I was running Fiddler, and Slack is using GET and POST requests. So I'm wondering if possibly it has something to do with the fact that regular webpages are sending a CONNECT request?
  • Sometimes I'm able to load google.com. As soon as I have an open google.com connection, I can do as many google searches as I want. But if I try to click a link on the google results page, the links will never load.
  • This happens across both AT&T and T-Mobile, with or without a VPN, on different phones. So I know it's not specifically related to one carrier or hardware device.
  • I've tried both the OpenSSL and Tiny variant of EasyTether, and that doesn't seem to make any difference.
  • I've used a USB 3.0 as well as USB 2.0 to USB-C cable to connect the phone to the router, and that hasn't made any difference at all.
  • I thought it might be a DNS problem, so I changed the DNS Servers in the WAN interface to use OpenDNS, CloudFlare, and Google, (main and secondary, so 6 total) and that didn't change anything.
  • I changed the MTU from 1500 to 1464 (I read somewhere that helps) and that didn't change anything.
  • EasyTether doesn't use IPv6 so I used the ImageBuilder and removed the IPv6 support.
  • I used WireShark to track the different packets which were failing or having errors. I cannot find any type of difference between the packets during the disconnect and packets not during the disconnect.
  • I used Fiddler, and with that I was able to see more requests which didn't have the 200 http code. However, I've never used Fiddler or WireShark before, so I'm not entirely sure what I'm looking for, or how that information helps me.

At this point I'm out of ideas. Any input would be appreciated. Hopefully somebody has some idea of what's going on here.

1 Like

Wow finally someone who has the same issue as me. I can't provide any more help, other than that mine does the exact same thing (live connections work, discord can send messages, google search works, while all other new connections time out) I usually fix it by unplugging and replugging my phone which works nearly instantly, but that isn't a viable option if im not at home and need to rely on this working. Not sure how these forums work but hopefully this gets bumped as its a very annoying issue.

1 Like

I believed most phones have USB tether build into the OS (pop up if you connect the USB cable to the computer, or at least enablable via the wifi hotspot menu), no need for 3rs party apps, or am I missing something ?

The benefit to using easytether, at least in my case, is that it bypasses carrier enforced tethering restrictions. So yk unlimited hotspot is nice :slight_smile:

what restrictions would that be (I'm curious, this is new to me) ?

In a perfect world, the phone (company) should only see one client - your router.

For me atleast, i have 15 Gigabytes of unrestriced (full speed) hotspot plan, if i go beyond that i get slowed significantly. Easytether manages to bypass these restrictions and i can use my full speed for as long as i want. I dont know the specifics of it but heres what a quick google search netted me (i find it fascinating as well :D) https://android.stackexchange.com/questions/47819/how-can-phone-companies-detect-tethering-incl-wifi-hotspot

A google search for ttl-set 65 will be even more fascinating.
However even bypassing restriccion they still will throttle video streaming, a work around for easytether disconnects is to create a cron job to make the easytether interface restart at a certain period of time, I have this cron in my travel router */30 * * * * ifup usbeasytether in this case usbeasytether interface will restart every 30 minutes.

this is gonna have to do for now, had my internet go down for 3 hours while i was asleep and lost a good amount of mining opportunity. Thanks a ton :))

Restart tethering on connection failure

The connection restart isn't a bad idea, but it causes a few second timeout, when it wouldn't actually even need to timeout.

I'm offering a $500 bounty to anyone who can provide a solution to the bug. If someone has a bandaid which will work better than a script restarting the interface, I'll give a lesser bounty to it. But if someone can provide an actual solution, I've got a $500 bounty on the project.

Perhaps you are stumbling upon the conntrack limits.
Check the number of active connections and try restarting the firewall service to reset active connections.

If that doesn't help, then you can try to minimize downtime and use the following tool:

Stumbled across this today - https://pmf.silvrback.com/fixing-tethering-on-android-kitkat

But my guess is the param is what the app is changing.

1 Like

i have ben using easy tether for over 5+ years (paid version full) iv had this issue for a long time (3+years) today- I'm sick of it, I love the program - and the alternatives suck by far - due to no wifi-hub client-side, and Att does not have unlimited hot-spot .. iv searched this issue many times in the past - with no fix as of yet but...-->ill tell you the issue is not in OpenWRT - and various android versions will work with my fix but some will not depend a lot - on android xx .. my phone I'm currently on is a (BlackView 9900-pro - android 10 OTA stock)

fix 1. - works but vary dumb that its the only stable way to run- use a full PC (mini pc / or laptop with wifi) run windows (10 or 11) and then connection sharing with ethernet- to wifi-hub (most stable when using Bluetooth -but vary slow kbs) <alteritive run Linux-distro and then you can use it as a WIFI rougher - i cant get windows to the hotspot with easytether>

fix 2. - I'm currently working on it as i type this - fix for openwrt routers/hubs (I'm using GL-MT300N-V2 ) the idea of the fix is to write a script that will run at disconnect of internet, I'm having issues with the stok-ROM but using OpenWRT-ROM/firmware <is not the same firmware that manufactures- no pre-installed bs - stand OpenWRT 19>
A) the script simply needs to run at internet disconnect - I'm currently looking for this solution - if someone knows a Linux command to do this would be GREATLY APPRECIATED
B) i have in my startup scrip - run every 30 secs - lol it works but might have a 30 sec downtime but my google home alarm clock will go off -

some android versions will kill easy tether background process = will not restart thew adp-commands> can fix this by going into (settings/apps/easytether/power usage - run in the background, also in power setting - optimized power usage, -set to not optimize easytether

-- still android is killing a background process that is dependent of easy tether (I'm guessing its a USB-setting because if you set to USB-tethering it won't disconnect easytehter- but will on mtm-file transfer /or/ charging/do noting) = that might be the fix your after - my phone won't default to usb-tethering (set the USB-tethering to a higher number than easy tether in (Use gateway metric)

ps ill try to get back to this form when I figure out how to run a command at internet disconnect - for the fix, I'm working on -(had this idea today)

my update - well yes you can do it on disconnect (netcat)- but the stock firmware - does not have the program and dependents (GL-MT300N-V2) , so i still doing my option B choice - then i inspected the resource loss to a small weak rougher this is (i run it for days off battery) its almost non-compatible with-in margin of error even at 10-sec repeat, so I'm keeping it there i see no reason to change it , no drop in Ping on csgo , for an issue that happens to me at least 5 times a day and every time i get a Text - I now don't notice it when it happens outside of a match.. , you can set it to every /5 minutes but i have not tested its CPU cost but it shouldn't lag/freeze easy tether connection - PS it doesn't generate a system/kernel login try

the working code for gl.inet (wan is the interfaces name - the instructions on gl.inet makes it "wan" when if i add this with a gui I make a new one and label it tap-easy "tap-easytether"

*/10 * * * * * ifup wan

#this will repeat every 10 secs forever and ever - whatever function/program is entered like something ( 30 12 * * * rm /myhomies home/my temp-pormn/)

problem fixed as far as i see it = such an opensource free clone program needs to exist - one can only hope/pray ..
you can get to this in luci by System (ontop)/Scheduled Tasks = add a line new
you can make your own corn number with this ez calculator i found
https://crontab.cronhub.io/
http://www.csgnetwork.com/crongen.html

This is an old post - but I think I've found a patch/work-around. I've tried everything listed plus numerous other things listed elsewhere ... no joy. Depending on use, I'd get a disconnect after 15 minutes to 2 hours and disconnecting the usb and then resetting the easytether connection was the only thing that worked consistantly. The connection appears be active/working sometimes it'll return a Google search but then won't download any content or specific pages.

BUT ... I installed a VPN on the router ... and BOOM ... the connection remains stable for days, remains stable for 12 hours of non-use - and none of the various background repeated check/reset actions are needed. Any VPN seems to work - although I've only specifically tried ProtonVPN-free, ProtonVPN-premium (both using US servers), and Azire-Wireguard again using US servers.

Note - the VPN installed on the phone does nothing (results in the same 15 minute to 2 hour disconnects), must have the VPN running on the router. I only use the phone for this tether connection - so I don't run the VPN on the phone and router at same time. One last note - I had the VPN installed on a connected device - it seems like that was better, but I still got disconnects/loss of connection.

My GLinet AR750S is firmware 3.203, I've got a Windows laptop connected to LAN, and use both as wireless on both Wifi bands - 2G and 6G. The WG VPN is typically faster than OVPN, tops out around 18Mbps. With the setup described above - any or all of the devices connected to the router can be disconnected, turned off, sleep - the router keeps the connection working.

Hope this helps, good luck ... merry christmas.
Jim C.