<script>ecbox_number=1;</script><style type="text/css" style="display:none;" id="easycode_inline_style">
.easycodebox li {white-space:pre !important; word-wrap:normal !important; word-break:keep-all; list-style-type:decimal-leading-zero !important;}
.easycodebox .main ol {font-family: 'Consolas','Consolas_WEB',Consolas,monaco,monospace !important; font-size: 90% !important;}

.easycodebox .headbar .message:after {content:"- Show or hide the code";}</style><script>ecbox_number=2;</script><script>ecbox_number=3;</script><script>ecbox_number=4;</script><script>ecbox_number=5;</script><script>ecbox_number=6;</script><script>ecbox_number=7;</script><script>ecbox_number=8;</script><script>ecbox_number=9;</script><script>ecbox_number=10;</script><script>ecbox_number=11;</script><script>ecbox_number=12;</script>{"id":318,"date":"2024-08-03T16:26:26","date_gmt":"2024-08-03T16:26:26","guid":{"rendered":"http:\/\/taptronics.com\/taptronics\/?p=318"},"modified":"2024-08-07T03:29:19","modified_gmt":"2024-08-07T03:29:19","slug":"using-4g-lte-hat-on-raspberry-pi-to-bypass-hotspot-throttling","status":"publish","type":"post","link":"http:\/\/taptronics.com\/taptronics\/using-4g-lte-hat-on-raspberry-pi-to-bypass-hotspot-throttling\/","title":{"rendered":"Using 4G LTE hat on Raspberry Pi to bypass hotspot throttling."},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" class=\"size-medium wp-image-319 alignleft\" src=\"http:\/\/taptronics.com\/taptronics\/wp-content\/uploads\/2024\/08\/LTE_proxy2-300x300.jpg\" alt=\"\" width=\"300\" height=\"300\" srcset=\"http:\/\/taptronics.com\/taptronics\/wp-content\/uploads\/2024\/08\/LTE_proxy2-300x300.jpg 300w, http:\/\/taptronics.com\/taptronics\/wp-content\/uploads\/2024\/08\/LTE_proxy2-1024x1024.jpg 1024w, http:\/\/taptronics.com\/taptronics\/wp-content\/uploads\/2024\/08\/LTE_proxy2-150x150.jpg 150w, http:\/\/taptronics.com\/taptronics\/wp-content\/uploads\/2024\/08\/LTE_proxy2-768x768.jpg 768w, http:\/\/taptronics.com\/taptronics\/wp-content\/uploads\/2024\/08\/LTE_proxy2-1536x1536.jpg 1536w, http:\/\/taptronics.com\/taptronics\/wp-content\/uploads\/2024\/08\/LTE_proxy2-2048x2048.jpg 2048w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>When we signed unlimited data plans from wireless carriers such as T-Mobile, AT&amp;T etc , it is by no means that we will\u00a0 get unlimited bandwidth from those plans. We know we can use our cellphones for hotspot tethering but those carriers will slowdown the data speeds and will throttle the bandwidth significantly.<\/p>\n<p>Some of\u00a0 methods to avoid tethering detection is by changing\u00a0 TTL (Time To Live) values ,or rooting the phone.<\/p>\n<p>Here I will show another trick to avoid tethering data slowdown by using 4G LTE hat on Raspberry Pi 3B.<\/p>\n<hr \/>\n<p><em><strong>TOOLS:<\/strong><\/em><\/p>\n<p>1. Rapsberry Pi 3B.<\/p>\n<p>2. 4G LTE hat from Sixfab.\u00a0 Quectel EC25 module using ECM mode is used here.<\/p>\n<p>3. SSH Client (Termium or other SSH program\/apps).<\/p>\n<p>4. Web browser client which has proxy settings , for this setup we will use\u00a0 Firefox web browser.<\/p>\n<p><em><strong>STEPS:<\/strong><\/em><\/p>\n<p><em><strong>1.Settings up Raspberry Pi 3B as an Access Point using bridge mode.<\/strong><\/em><\/p>\n<p><a href=\"https:\/\/docs.sixfab.com\/page\/setting-up-a-raspberry-pi-as-an-lte-hotspot\">https:\/\/docs.sixfab.com\/page\/setting-up-a-raspberry-pi-as-an-lte-hotspot<\/a><\/p>\n<p>After following the step above you will have several files which works together to\u00a0 create a bridge\u00a0 between wlan0 and usb0. I have modified mine that let users to access eth0 using ethernet cable. Most likely you will have different files compared to mine.<\/p>\n<p>These files are installed on my Raspberry Pi running on Debian Buster.<\/p>\r\n\t<div class='easycodebox  ' id='easycodebox-1'>\r\n\t<div class='headbar' onclick='EasyCodeClass(this).ShowCode();'  title=\"Click here to show\/hide the code.\"> \/etc\/network\/interfaces<\/div>\r\n\t<div class='flex-box'>\r\n\t<div class='scrollbox'  ondblclick=\"EasyCodeClass(this).editCode(1);\">\r\n\t<div class='ecside'>&nbsp;<\/div>\r\n\t<div class='main'><ol>\n<li>cat \/etc\/network\/interfaces<\/li>\n<li># Bridge <\/li>\n<li>auto br0<\/li>\n<li>iface br0 inet dhcp<\/li>\n<li>bridge_ports usb0 eth0 wlan0<\/li><\/ol><\/div>\r\n\t<\/div><\/div><\/div>\r\n\t<div class='easycodebox  ' id='easycodebox-2'>\r\n\t<div class='headbar' onclick='EasyCodeClass(this).ShowCode();'  title=\"Click here to show\/hide the code.\"> \/etc\/dhcpcd.conf<\/div>\r\n\t<div class='flex-box'>\r\n\t<div class='scrollbox'  ondblclick=\"EasyCodeClass(this).editCode(1);\">\r\n\t<div class='ecside'>&nbsp;<\/div>\r\n\t<div class='main'><ol>\n<li>cat \/etc\/dhcpcd.conf<\/li>\n<li>denyinterfaces wlan0  eth0 usb0<\/li>\n<li>interface eth0<\/li>\n<li>interface usb0<\/li>\n<li>interface wlan0<\/li>\n<li>interface br0<\/li><\/ol><\/div>\r\n\t<\/div><\/div><\/div><p>&nbsp;<\/p>\r\n\t<div class='easycodebox  ' id='easycodebox-3'>\r\n\t<div class='headbar' onclick='EasyCodeClass(this).ShowCode();'  title=\"Click here to show\/hide the code.\"> \/etc\/dnsmasq.conf<\/div>\r\n\t<div class='flex-box'>\r\n\t<div class='scrollbox'  ondblclick=\"EasyCodeClass(this).editCode(1);\">\r\n\t<div class='ecside'>&nbsp;<\/div>\r\n\t<div class='main'><ol>\n<li>cat \/etc\/dnsmasq.conf<\/li>\n<li>interface=wlan0<\/li>\n<li>bind-dynamic<\/li>\n<li>domain-needed<\/li>\n<li>bogus-priv<\/li>\n<li>dhcp-range=192.168.42.150,192.168.42.200,255.255.255.0, 24h<\/li><\/ol><\/div>\r\n\t<\/div><\/div><\/div>\r\n\t<div class='easycodebox  ' id='easycodebox-4'>\r\n\t<div class='headbar' onclick='EasyCodeClass(this).ShowCode();'  title=\"Click here to show\/hide the code.\"> \/etc\/hostapd\/hostapd.conf<\/div>\r\n\t<div class='flex-box'>\r\n\t<div class='scrollbox'  ondblclick=\"EasyCodeClass(this).editCode(1);\">\r\n\t<div class='ecside'>&nbsp;<\/div>\r\n\t<div class='main'><ol>\n<li>cat \/etc\/hostapd\/hostapd.conf<\/li>\n<li>interface=wlan0<\/li>\n<li>bridge=br0<\/li>\n<li>driver=nl80211<\/li>\n<li>ssid=tapbridge<\/li>\n<li>hw_mode=g<\/li>\n<li>channel=6<\/li>\n<li>macaddr_acl=0<\/li>\n<li>auth_algs=1<\/li>\n<li>ignore_broadcast_ssid=0<\/li>\n<li>wpa=2<\/li>\n<li>wpa_passphrase=yourpass<\/li>\n<li>wpa_key_mgmt=WPA-PSK<\/li>\n<li>wpa_pairwise=TKIP<\/li>\n<li>rsn_pairwise=CCMP<\/li>\n<li>ieee80211n=1<\/li>\n<li>wmm_enabled=1<\/li>\n<li>ht_capab=[HT40][SHORT-GI-20][DSSS_CCK_40]<\/li><\/ol><\/div>\r\n\t<\/div><\/div><\/div><p>&nbsp;<\/p>\n<p><em><strong>2.Internet connection settings.<\/strong><\/em><\/p>\n<p><a href=\"https:\/\/docs.sixfab.com\/page\/internet-connection-with-quectel-ec25-by-using-ecm-mode\">https:\/\/docs.sixfab.com\/page\/internet-connection-with-quectel-ec25-by-using-ecm-mode<\/a><\/p>\n<p><strong><em>3.After doing all steps above<\/em><\/strong>, verify that the bridge networks appear on terminal screen\u00a0 by typing &#8220;ifconfig&#8221;. It will looks like something like this:<\/p>\r\n\t<div class='easycodebox  ' id='easycodebox-5'>\r\n\t<div class='headbar' onclick='EasyCodeClass(this).ShowCode();'  title=\"Click here to show\/hide the code.\"> ifconfig<\/div>\r\n\t<div class='flex-box'>\r\n\t<div class='scrollbox'  ondblclick=\"EasyCodeClass(this).editCode(1);\">\r\n\t<div class='ecside'>&nbsp;<\/div>\r\n\t<div class='main'><ol>\n<li>pi@pibridge:~ $ ifconfig<\/li>\n<li>br0: flags=4163&lt;UP,BROADCAST,RUNNING,MULTICAST&gt;  mtu 1500<\/li>\n<li>        inet 192.168.225.55  netmask 255.255.255.0  broadcast 192.168.225.255<\/li>\n<li>        inet6 fe80::36c0:f9ff:fe34:dac5  prefixlen 64  scopeid 0x20&lt;link&gt;<\/li>\n<li>        ether 34:c0:f9:34:da:c5  txqueuelen 1000  (Ethernet)<\/li><\/ol><\/div>\r\n\t<\/div><\/div><\/div><p>Your bridge IP address probably look different.<\/p>\n<p><em><strong>4.Check your internet connection.<\/strong><\/em><\/p>\r\n\t<div class='easycodebox  ' id='easycodebox-6'>\r\n\t<div class='headbar' onclick='EasyCodeClass(this).ShowCode();'  title=\"Click here to show\/hide the code.\"> ping google.com<\/div>\r\n\t<div class='flex-box'>\r\n\t<div class='scrollbox'  ondblclick=\"EasyCodeClass(this).editCode(1);\">\r\n\t<div class='ecside'>&nbsp;<\/div>\r\n\t<div class='main'><ol>\n<li>pi@pibridge:~ $ ping google.com<\/li>\n<li>PING google.com (173.194.77.100) 56(84) bytes of data.<\/li>\n<li>64 bytes from gc-in-f100.1e100.net (173.194.77.100): icmp_seq=1 ttl=98 time=62.9 ms<\/li><\/ol><\/div>\r\n\t<\/div><\/div><\/div><p>If yours is showing timeout or unable to reach\u00a0 ,you need to check back step 2.<\/p>\n<p><em><strong>5.Install SSH client on your laptop\/desktop or smartphones.<\/strong><\/em>\u00a0 I use Termius as an SSH client on my laptop.<\/p>\n<p>On my laptop I connect my wifi to &#8220;tapbridge&#8221;. That is ssid name on \/etc\/hostapd\/hostapd.conf. You can create or change with different ssid name\u00a0 and different password. If you are unable to connect to Rapsberry Pi , verify your first step (step 1), make sure you got the right configurations.<\/p>\n<p><em><strong>6.Create\u00a0 a new host on Termius.<\/strong><\/em> My host address &#8220;192.168.225.55&#8221;, in case of yours, type &#8220;ipconfig&#8221; to see your bridge IP address.<\/p>\n<p>Address: 192.168.225.55<\/p>\n<p>General : &#8220;LTE wlan0 &#8220;, it is the name I created\u00a0 to use together with Port Forwarding settings.<\/p>\n<p>SSH on port 22.<\/p>\n<p>credentials:<\/p>\n<p>login: pi ( use yours , or it will be the same for default Raspberry Pi)<\/p>\n<p>password: (your own raspberry Pi password) . Instead of password I use SSH-key so it will connect the Raspberry without entering password every time I need to login.<\/p>\n<p><em><strong>7.Create a new Forwarding on Termius.<\/strong><\/em><\/p>\n<p>Select the port forwarding type: Dynamic.<\/p>\n<p>Dynamic port forwarding turn Termius into a SOCKS proxy server.<\/p>\n<p>Label: cellular_sock ( create your own)<\/p>\n<p>Local port number: 7777 ( you can choose any unused port number or uncommon port number), we will use this number for web proxy settings.<\/p>\n<p>Bind address: 127.0.0.1<\/p>\n<p>Intermediate host: LTE wlano ( it must match host name settings above).<\/p>\n<p><em><strong>8.Firefox web browser proxy settings.<\/strong><\/em><\/p>\n<p>Go to &#8220;settings&#8221; and &#8220;Network settings&#8221;. choose &#8220;Manual proxy configuration&#8221;.<\/p>\n<p>SOCKS Host: localhost , Port:7777<\/p>\n<p>choose :SOCKS v5. and press &#8220;OK&#8221; to save it.<\/p>\n<p><em><strong>9.Connect to 4G LTE with SOCK -5 configuration.<\/strong><\/em><\/p>\n<p>On Termius , go to &#8220;host&#8217; and\u00a0 click on &#8220;LTE wlan0&#8221;. this SSH will connect to Raspberry Pi. To get port forwarding running , go to &#8220;Port Forwarding&#8221; and click on &#8220;cellular_sock&#8221;. These chain connection will fire the SOCK proxy and you will able to browse Internet without tethering limitation.<\/p>\n<p><strong>Before without proxy\u00a0 and After proxy data speed testings:<\/strong><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-342\" src=\"http:\/\/taptronics.com\/taptronics\/wp-content\/uploads\/2024\/08\/iMarkup_20240804_102816-300x150.jpg\" alt=\"\" width=\"300\" height=\"150\" srcset=\"http:\/\/taptronics.com\/taptronics\/wp-content\/uploads\/2024\/08\/iMarkup_20240804_102816-300x150.jpg 300w, http:\/\/taptronics.com\/taptronics\/wp-content\/uploads\/2024\/08\/iMarkup_20240804_102816-1024x511.jpg 1024w, http:\/\/taptronics.com\/taptronics\/wp-content\/uploads\/2024\/08\/iMarkup_20240804_102816-768x383.jpg 768w, http:\/\/taptronics.com\/taptronics\/wp-content\/uploads\/2024\/08\/iMarkup_20240804_102816-1536x766.jpg 1536w, http:\/\/taptronics.com\/taptronics\/wp-content\/uploads\/2024\/08\/iMarkup_20240804_102816-2048x1021.jpg 2048w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/> <img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-343\" src=\"http:\/\/taptronics.com\/taptronics\/wp-content\/uploads\/2024\/08\/iMarkup_20240804_102844-300x159.jpg\" alt=\"\" width=\"300\" height=\"159\" srcset=\"http:\/\/taptronics.com\/taptronics\/wp-content\/uploads\/2024\/08\/iMarkup_20240804_102844-300x159.jpg 300w, http:\/\/taptronics.com\/taptronics\/wp-content\/uploads\/2024\/08\/iMarkup_20240804_102844-1024x543.jpg 1024w, http:\/\/taptronics.com\/taptronics\/wp-content\/uploads\/2024\/08\/iMarkup_20240804_102844-768x407.jpg 768w, http:\/\/taptronics.com\/taptronics\/wp-content\/uploads\/2024\/08\/iMarkup_20240804_102844-1536x814.jpg 1536w, http:\/\/taptronics.com\/taptronics\/wp-content\/uploads\/2024\/08\/iMarkup_20240804_102844-2048x1086.jpg 2048w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; When we signed unlimited data plans from wireless carriers such as T-Mobile, AT&amp;T etc , it is by no means that we will\u00a0 get unlimited bandwidth from those plans. We know we can use our cellphones for hotspot tethering but those carriers will slowdown the data speeds and will throttle &hellip; <a href=\"http:\/\/taptronics.com\/taptronics\/using-4g-lte-hat-on-raspberry-pi-to-bypass-hotspot-throttling\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">Using 4G LTE hat on Raspberry Pi to bypass hotspot throttling.<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"_links":{"self":[{"href":"http:\/\/taptronics.com\/taptronics\/wp-json\/wp\/v2\/posts\/318"}],"collection":[{"href":"http:\/\/taptronics.com\/taptronics\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/taptronics.com\/taptronics\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/taptronics.com\/taptronics\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/taptronics.com\/taptronics\/wp-json\/wp\/v2\/comments?post=318"}],"version-history":[{"count":30,"href":"http:\/\/taptronics.com\/taptronics\/wp-json\/wp\/v2\/posts\/318\/revisions"}],"predecessor-version":[{"id":358,"href":"http:\/\/taptronics.com\/taptronics\/wp-json\/wp\/v2\/posts\/318\/revisions\/358"}],"wp:attachment":[{"href":"http:\/\/taptronics.com\/taptronics\/wp-json\/wp\/v2\/media?parent=318"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/taptronics.com\/taptronics\/wp-json\/wp\/v2\/categories?post=318"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/taptronics.com\/taptronics\/wp-json\/wp\/v2\/tags?post=318"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}