We will try to get a GPRS internet connection using Linux-based phones as modems and route the connection to Mac OS X via Bluetooth. This guide is for Mac OS X, the US Cingular GPRS service only (other providers might work out of the box with the phone, others might not at all -- you never know with GPRS) and any of the Linux-based Motorola smartphones like the A760, A780, E680/i etc (they are all identical regarding their 'modem' functionality).

Setup

1. Download this modem script and place it on your /Library/Modem Scripts/ folder on your OSX. This script is ready to be used as a 57600 kbps modem but you can edit it and make it faster if you think your phone's modem-like functionality is fast enough (e.g. 115200). The script is also ready to be used on the Cingular GPRS network, so if you want to use another GPRS provider, you must change the "wap.cingular" words (that's the APN) in the modem script you just downloaded to the one that's appropriate for your service:
write "AT+CGDCONT=1,\34IP\34,\34wap.cingular\34,,0,0\13"
and you might also have to change this text too:
write "ATD*99***1#\13"
Cingular's non-subscription GPRS dialing number is *99***1#, but some others use *99#, so you will have to google it to find the correct one for your provider. Usually though, it is *99***1# for most.

The above generic script also worked for my husband's Sony Ericsson K700i, however, if it doesn't work for you, please try this one. Some people have had success with this script, even if they are not using SprintPCS (that was originally written for).

2. Turn on Bluetooth on your Mac. Turn on both GPRS and Bluetooth on your phone (from the "Device Status" window that comes up when you click on the battery indicator). Then, go to the Apps/Tools/Modem application on your phone and change the modem option from "USB Cable" to "Bluetooth". Stay on that screen (don't navigate elsewhere on your phone from now on).

3. On your Mac, open the "Bluetooth Setup Assistant". Just 1 second before you press "Continue" on that screen, click on the "Find Me" button on your phone. Then, press "Continue" and then "Mobile Phone" on your Mac and follow up the wizard to setup the Address Book and "phone support" and pair the two devices. iSync is not supported by these Linux phones. When the Mac will ask you about the GPRS/phone-support fields, enter phone number *99***1#, user name WAP@CINGULARGPRS.COM and password CINGULAR1 (yes, they are case sensitive). Change accordingly if your GPRS provider is not Cingular.

4. Open your Mac's Preferences/Network and voila, the settings you entered earlier are now under the "Bluetooth" option from the drop-down menu. Under the PPP tab, enter a name for the connection (e.g. Cingular, or T-Mobile or whatever else you like). Click on "PPP options" and uncheck "Send PPP echo Packets". If later you find that you can connect but no data is flowing through, also uncheck the "Use TCP header compression" option. Leave the TPC/IP and Proxies tabs unaltered. On the "Bluetooth Modem" tab uncheck both "Enable error correction and compression in modem" and "Wait for dial tone before dialing". From the "Modem" drop down menu navigate in it and find the "linux-smartphone" option and select it. When done with all this, click "Apply Now".

5. Now, this is the part that didn't work and drove me crazy (direct GPRS was working, but via the Mac and Bluetooth didn't). Many thanks to Clifford Kite for finding this out through some trial and error. For these specific Linux smartphones (other phones work automatically) and when used via the Mac for Cingular *in particular*, you must create a ppp 'options' file using the TextEditor. In it type exactly this dummy remote IP address:
:192.168.0.254
and then save the file on your ~ home folder (*make absolutely sure* that your file is not renamed from TextEditor to 'options.txt', but plain 'options' -- TextEditor is known to do that, you must do a 'Get Info' on the file to be sure). Then, open a terminal and move the file to its correct location:
sudo mv options /etc/ppp/options
(from now on you can use the 'nano' terminal-based text editor if you need to edit it again by invoking this: sudo nano /etc/ppp/options). If you are not using Cingular with a Linux phone via the Mac, you might never need to create this 'options' file. Also, if later you find some LCP/IPCP errors on your logs and they are failing your connection, try adding this line above the dummy remote IP address on your 'options' file: novj

6. Open the 'Internet Connect' application on your Mac, and click the plain Bluetooth connection icon. Go to your phone, and click again "Find Me". Immediately after that, click "Connect" on your Mac and "ok" on your phone's popup window. A few seconds later you should be connected on Cingular's GPRS and start paying $1 per 100 KBs! >;)

Troubleshooting

Logs are your friends. If you can't connect, go to the Mac's 'Bluetooth Network Preferences', click on the "PPP options" and then click on the "Verbose logging". Then open the "Console" application from /Applications/Utilities/ and find the main ppp log. Assuming you have done the pairing and filled the login/passwords correctly for your provider, leave a comment below with the relevant verbose ppp log and we will have a look at it.

Another interesting application is the "Bluetooth Serial Utility" that Apple removed from OSX Tiger (bad decision). Through it you can create new GPRS connections if you have more than one phones or providers (select the options: DUN/Dial-Up service from your second phone, Outgoing, Modem and 'show on network preferences' on the "create new" dialog and give that connection a name). You might also have to check or uncheck (depending on your provider, I had to uncheck it for Cingular) both the encryption and the authentication bits. Then, you open back the Network preferences in the system preferences of the mac, under "show network status" select "network port configurations" and then check the checkbox of the newly created port. Click Apply, click its name to go to its network preferences and then follow the steps from No4 above, onwards (you will have to enter manually the number, login and password).

Links

If your Mac doesn't have Bluetooth, you might need to use the USB cable instead. Instructions here (free reg. req.).

Good luck!

Update: Reader Robert Hewitt has sent us information how to connect the Motorola EZX phones with Vodafone UK. Email him for more details.

The connect scripts need to have the following lines edited:

for phones on a contract
write "AT+CGDCONT=1,\34IP\34,\34internet\34,,0,0\13"

for phones on pay as you go
write "AT+CGDCONT=1,\34IP\34,\34pp.vodafone.co.uk\34,,0,0\13"