How to FTP With T-Mobile Home Internet

 

My wife got tired of the high ISP charges we were getting each month, and looked for lower priced alternatives; she came back home with a T-Mobile Home Internet modem (5G). I put the modem by one of our windows and rotated it around until I got a good signal reading; Very Good (1 bar less then Excellent). Then I turned on our TV, and in network settings changed to TMOBILE-6CE1 (the ssid of our T-Mobile modem). This 5 GHz network was delivering 585 Mbps (according to speedtest.net) but showed up as 144 Mbps on my TV; still a great improvement over the 25 Mbps I was getting from satellite internet. My satellite ISP limits my high speed data to 60 GBytes; T-Mobile has no limit. Sounds like nirvana, but I found some issues.

Some of my devices wouldn't connect to T-Mobile. The problem was these were 2.4 GHz devices, and my T-Mobile modem was only putting out a 5 GHz signal. According to the T-Mobile advertisement, I have a 5 GHz/ 2.4 GHz modem. It turns out the one ssid associated with the modem is 5 GHZ only; you have to add another ssid and set it to 2.4 GHz only. Katiejo123 gave the steps on how to do this on the internet webpage https://community.t-mobile.com/tv-home-internet-7/2-4g-devices-not-connecting-to-t-mobile-home-network-42068

                  1. Open the T-mobile Internet app.

                  2. Go to the Network tab at the bottom.

                  3. Click on the "+" sign to add a network.
                  
                  4. Add in the information for a 2nd network and change the frequency band to 2.4 GHz.
         

Oficially the T-Mobile modem was putting out a dual band signal (2.4 GHz and 5 GHz) but once I added a 2.4 GHz ssid then my 2.4 GHz devices were able to connect. My outdoor wi-fi antenna is also a 2.4 GHz device, but when I tried adding the 2.4 ssid to the router going to my antenna, I found out that the router wouldn't let me do that with a Panda adapter attached to it. I ordered another Alfa usb adapter for the R36A router, but I haven't received that in the mail yet; good for another blog.

One problem that I was able to take care of was ftping a file up to my web hosting server. I have a slide show on my home page, and it gets the pictures to display from a web crawler I'm running on a Raspberry Pi. The web host receives the slide show pictures via ftp from the web crawler; a perl script. I've been using the following Perl modules: LWP::Simple; LWP::UserAgent; and Net::FTP. These modules allow my perl script to create an ftp object that sends the ip address of images it finds on the internet to the web host. When I execute the script it still says it's uploading data.txt (the text file that contains the ip address of the latest image that has been crawled) but when I look at my homepage the slide show doesn't update with each uploaded picture (or at all). I googled this problem and it turns out this problem is caused by the way T-Mobile handles ip addresses. The T-Mobile local network uses ipv6, but internet browsers are still using ipv4 (even though I was told back in 1999 that I needed to convert all of my web programs to ipv6, because the world was going to be forced to use ipv6 in the year 2000; it never happened). To get around this, T-Mobile created a template they send their internet signals through; the template (or mapping software) converts the ipv6 signal to ipv4 before it is sent out through their wan. This works just fine for http, but ftp doesn't get the right address. I looked for flags I could use when uploading data.txt that would make sure I sent ipv4 only with ftp->send. The flags I used were supposed to work, but they didn't. Finally I thought that before using perl modules to create an ftp object, I used curl; a system call in Perl. Curl has a flag, --ipv4, that ensures you are only sending ipv4 information. So my curl statement became:

system "curl -v --ipv4 --user username:password -T /directory where data.txt is created/data.txt ftp://server ip address/directory where my client scripts look for the image data file/data.txt";

Curl produces all sorts of diagnostic information while it is running, but it tells me it is uploading 0 bytes. Fortunately My homepage is showing the slide show updating, and it is updating with the images curl won't admit to sending. I'm OK with that, because my slide show is now working with T-Mobile Internet.

Return To My Blog Page Return To My Programming Page