Using T-Mobile GPRS on your Mac: A ‘Mini-HOWTO’

by Kadin2048


This text is licensed under the GFDL, with no front-cover texts, no back-cover texts, and no invariant sections. Attribution is requested where possible but not required.


There have been several articles and innumerable blog postings written about how to set up and use your cell phone as a modem, to let you get connectivity on the road. This is my small attempt at producing yet one more, documenting my personal experience getting things working. I hope that it might be of help to others.

My Equipment:

My goal was to get internet access on my 800MHz G3 iBook, running Mac OS 10.4.10, through my Motorola Razr V3 (that’s original-revision V3) GSM phone. I have service through T-Mobile, and am signed up for their “TMobile Web” (formerly “TZones”), $6.99/mo. data plan. This is their cheapest and most limited data plan; using it in the tethered manner that's described here introduces some complications and is potentially a TOS violation. Really, what you want is the more expensive “TMobile Internet” plan, which runs somewhere around $30/mo and is meant for tethered use. You've been warned.

Although these instructions may work for other types of phones (e.g. Nokia, Samsung) and connections scripts exist for them, I don’t know anything about them and thus can only speak for my particular configuration. Also, I did my connection using a USB cable. Other people have had success using Bluetooth, but since my aging G3 laptop doesn’t support it, I didn’t really try.

The phone I used doesn’t support EDGE or HSDPA; it’s purely a GPRS device. As a result, it’s dog slow. If you’ve been off dialup internet for a while, get ready to dredge up some memories you may have been keeping repressed, because browsing 2007’s internet at 1995’s speeds is if anything more painful than browsing 1995’s internet at 1995 speeds. If the device you have supports EDGE, then you may need a slightly different modem script, and you almost certainly want to spring for the more expensive data plan.

A note on 3G: At the time of this writing, T-Mobile’s HSDPA support is very limited, and it’s not clear whether generic devices you might buy on the grey market which include HSDPA will work on T-Mobile’s future 3G network, due to spectrum allocations. Since the grey market is the only place I buy my phones, I’m letting that dog lie for right now. If I get a new phone that supports EDGE, I’ll update this article with instructions for it.

Essential Info:

Before I get into the process, here are the key facts regarding the connection we’re going to set up:

APN: (for TZones/TMobileWeb plan)  (for unlimited service)  
User:   guest  
Pass:   guest  
DNS:    Automatically set  
Proxy: (HTTP Proxy required for TZones)  

The Process (Short, short version):

1.  Download modem scripts, put them in /Library/Modem Scripts/
2.  Connect up phone, verify that it's seen by the computer
3.  Open Network preference pane of System Preferences, define new connection
4.  Enter parameters, putting APN into the Phone Number field, and disabling PPP Echo packets and TCP header compression
5.  Set up Proxy if necessary for WAP plan
6.  Select the desired modem script from the list
7.  Hit ‘Apply’ to save!
8.  Place at top of Port Configurations, dial/connect, and enjoy.

The Process: (Long Version)

Begin by turning your phone on and attaching it to your laptop with a USB cable (regular to mini-USB, obviously). You should see the phone respond immediately and begin charging. (Which is a good way to save power outlets, if you’re on a plane/train and only have one.) To verify the connection, you can go into Apple System Profiler, subsection USB, and verify that the phone appears. Mine comes up as “Motorola Phone (V3)”.

Next–and you can do this before, if you want–you’ll need to get the modem scripts for your phone. The place to get these from is Ross Barkman’s page. Without these, you’d be stuck typing obscure commands into a terminal window in order to get your phone to connect; that’s T-Mobile’s “official” Mac solution, by the way. If you get this working, by all means send Ross a few bucks via the PayPal link on his page. He deserves it. The Motorola GPRS scripts are here.

Unzip the package of scripts, take a look at the Readme, and toss the scripts themselves into your /Library/Modem Scripts/ folder. Now, we’re ready to get configuring.

Open up System Preferences and go to the Network pane. Hopefully, your computer will recognize the phone that’s connected to it, and automagically create the new connection for you. If this doesn’t happen, you’ll have to create it manually. (Network Port Configurations, New, look for your phone or USB under “Port”.) My computer created it for me, and helpfully opened the new connection for editing.

Give the connection a name; something like “T-Mobile GPRS” will do fine. Then put in the username and password: “guest” and “guest”. (I’m actually fairly certain you can put in anything you want for the U/P.) It’s worth noting that at least on my machine, if the phone wasn’t connected, I was not able to open the connection to edit its parameters. No doubt someone at Apple thinks this is a feature, but I just found it annoying.

Now, put the APN you want to use, into the Phone Number field. Let me say that again, just to be clear: the APN goes into the Phone Number field. Got it? Don’t put an actual phone number in there, or “#*99#”, or something else. Even if T-Mobile, your Mom, and your Rabbi say so. It will mess up the scripts that we’re going to use. (This is where our path, using the nice scripts from Ross Barkman, differs from the ‘official’–and thoroughly crappy–instructions given by T-Mobile, if you can find them.)

Click on “PPP Options” and make sure “Send PPP echo packets” and “Use TCP header compression” are both OFF.

On the next pane, TCP/IP, make sure that it’s set up to receive DNS information via the PPP connection.

On the Proxies pane, check the box for “Web Proxy (HTTP)” and enter in the box to the right, if you are using the “TZones” WAP plan. This is probably considered uncool by T-Mobile, it may stop working at any time, and it will only get you HTTP access–nothing else Internet-related (email, IM, etc.) will work.

In the Modem pane, select the connection script you want to use from the drop-down list. I used “Motorola GPRS CID1”. Turn OFF “Wait for dial tone before dialing”.

Then click “Apply Now” to save the settings.

To test, first disconnect from any other networks (or move the GPRS connection to the top of the list in Network Port Configurations), then go into the PPP pane of the GPRS connection, and click on “Dial Now…”. This will launch the Dialer application. Hit “Connect”, and if you did everything right, the phone will establish a GPRS connection, and you’ll receive an IP address. Open up Safari, and pull up your favorite web page. (Don’t use Firefox, since it doesn’t respect the systemwide Proxy settings; it has to be configured separately.)