About The t509 EDGE Script
First off, many thanks to Ross Barkman for his great scripts. I guess this phone is just nonstandard enough that his generic 3G script didn't work -- however, it was the source for this version that does.
This is a modem script for OS-X (as of 10.4.6) that will allow use of a Samsung T509 cellphone to access the Internet with EDGE speeds on T-Mobile at least. It's based entirely on Ross's 3G script but with a bit of tweaking discovered after a lot of googling that allows you actually get this phone to connect!
Just editing the script so it would work got me to connect at 67kbps, but a lot more editing took the speed up to 218Kbps!
Other Phones?
I have one confirmed report that the T629 also works with this script, however it is unknown whether it supports EDGE. It also works with other carriers besides T-Mobile (US), however I am providing instructions and support specifically for this combination. You're welcome to email me with questions regarding other phones or providers — however my help may be limited since I can't try it myself.
Downloads
Latest stable verison is samsung-t509-modem-0.1.zip, or browse the distribution directory for older versions.
They are distributed in zip files to make sure OS-X doesn't add any extension to the script itself.
Installation
FIRST make sure you have an internet plan with T-Mobile. They have a $5.99 one called
T-MobileWeb that you can use with the APN wap.voicestream.com
and a $29.99 one that includes
unlimited internet and hotspots both, that uses the internet2.voicestream.com
APN. If you
manage to get on a $19.99 Unlimited Internet plan please let me know how so I can tell
others. The blackberry plan apparently uses the wap.voicestream.com
APN as well.
Unzip, and drag Samsung t509 Tmo
to /Library/Modem Scripts/
.
Then reboot… for some reason, the modem script list only refreshes on boot.
Then set the following options:
- PPP Options: "Send PPP echo packets" disabled, and "Use TCP header compression" enabled
- Bluetooth Modem: "Enable error correction and compression in modem" disabled, "Wait for dial tone before dialing" disabled
- Phone number: your APN (see Ross's list). For me, this is
internet2.voicestream.com
- Username and password: see list above, but for me is guest:guest
If you have any problems getting this to work, or otherwise want to make a suggestion, my email address is tim@timhatch.com
Long Story of How This Came About
I got this phone over lunch today to replace an Ericsson T610 with a cracked
screen. My first priority was to get Internet connection working and test out
EDGE speeds. It turns out that none of the scripts or helpful hints out there
seem to work for this specific phone. They all result in a one-sided PPP
handshake that looks like this in /var/log/ppp.log
:
Tue Jun 6 17:40:32 2006 : Terminal connection established. Tue Jun 6 17:40:32 2006 : using link 0 Tue Jun 6 17:40:32 2006 : Using interface ppp0 Tue Jun 6 17:40:32 2006 : Connect: ppp0 <--> /dev/cu.Bluetooth-Modem Tue Jun 6 17:40:34 2006 : sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xedfdd86a> <pcomp> <accomp>] Tue Jun 6 17:40:37 2006 : sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xedfdd86a> <pcomp> <accomp>] Tue Jun 6 17:40:40 2006 : sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xedfdd86a> <pcomp> <accomp>] Tue Jun 6 17:40:43 2006 : sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xedfdd86a> <pcomp> <accomp>] Tue Jun 6 17:40:46 2006 : sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xedfdd86a> <pcomp> <accomp>] Tue Jun 6 17:40:49 2006 : sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xedfdd86a> <pcomp> <accomp>] Tue Jun 6 17:40:52 2006 : sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xedfdd86a> <pcomp> <accomp>] Tue Jun 6 17:40:55 2006 : sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xedfdd86a> <pcomp> <accomp>] Tue Jun 6 17:40:58 2006 : sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xedfdd86a> <pcomp> <accomp>] Tue Jun 6 17:41:01 2006 : sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xedfdd86a> <pcomp> <accomp>] Tue Jun 6 17:41:04 2006 : LCP: timeout sending Config-Requests Tue Jun 6 17:41:04 2006 : Connection terminated. Tue Jun 6 17:41:04 2006 : Serial link disconnected.
Which is followed by a dialog about how the other side isn't responding.
It turns out the dial line for the t509 is very picky, and
requires you to specify tone dialing (when logically a cellphone would
only do tone), and also specify the longer magical string *99***1#
.
None of this was documented for the tech people I was in contact with.
AT+cgdcont=1,"IP","internet2.voicestream.com" ATDT*99***1#
This still didn't help with making it dial automatically, and the next level tech support had me speed test at 2wire with a result of around 67Kbps, a respectable GPRS speed, but didn't seem like EDGE. I live close enough to DFW that I thought I was in an EDGE area.
After coming up with this command set, I started hacking around with Ross's 3G script and pared it down to remove most of the error checking, negotiation, and force the speed to the fastest. I doubt most of this was really necessary, but I can tell you that as it is right now, speed tests from 2wire and SpeakEasy report a download speed of 218Kbps and an upload speed of 72Kbps!
The contents of /var/log/ppp.log
now look like this when using
the script available here:
Tue Jun 6 21:20:19 2006 : Samsung t509 Tmo Tue Jun 6 21:20:19 2006 : CCLWrite : AT\13 Tue Jun 6 21:20:22 2006 : CCLWrite : AT\13 Tue Jun 6 21:20:22 2006 : CCLMatched : OK\13\10 Tue Jun 6 21:20:22 2006 : CCLWrite : AT+cgdcont=1,"IP","internet2.voicestream.com"\13 Tue Jun 6 21:20:22 2006 : CCLMatched : OK\13\10 Tue Jun 6 21:20:22 2006 : Making 3G connection Tue Jun 6 21:20:22 2006 : CCLWrite : ATDT*99***1#\13 Tue Jun 6 21:20:25 2006 : CCLMatched : CONNECT Tue Jun 6 21:20:28 2006 : Serial connection established. Tue Jun 6 21:20:29 2006 : using link 0 Tue Jun 6 21:20:29 2006 : Using interface ppp0 Tue Jun 6 21:20:29 2006 : Connect: ppp0 <--> /dev/cu.Bluetooth-Modem Tue Jun 6 21:20:30 2006 : sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xa9a52d06> <pcomp> <accomp>] Tue Jun 6 21:20:30 2006 : rcvd [LCP ConfReq id=0x1 <asyncmap 0xa0000> <auth pap>] Tue Jun 6 21:20:30 2006 : lcp_reqci: returning CONFACK. Tue Jun 6 21:20:30 2006 : sent [LCP ConfAck id=0x1 <asyncmap 0xa0000> <auth pap>] Tue Jun 6 21:20:30 2006 : rcvd [LCP ConfRej id=0x1 <magic 0xa9a52d06> <pcomp> <accomp>] Tue Jun 6 21:20:30 2006 : sent [LCP ConfReq id=0x2 <asyncmap 0x0>] Tue Jun 6 21:20:30 2006 : rcvd [LCP ConfAck id=0x2 <asyncmap 0x0>] Tue Jun 6 21:20:30 2006 : sent [PAP AuthReq id=0x1 user="guest" password=<hidden>] Tue Jun 6 21:20:30 2006 : rcvd [PAP AuthAck id=0x1 "Login OK"] Tue Jun 6 21:20:30 2006 : Remote message: Login OK Tue Jun 6 21:20:30 2006 : PAP authentication succeeded Tue Jun 6 21:20:30 2006 : sent [IPCP ConfReq id=0x1 <compress VJ 0f 01> <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-dns3 0.0.0.0>] Tue Jun 6 21:20:30 2006 : sent [IPV6CP ConfReq id=0x1 <addr fe80::020a:95ff:feac:ef76>] Tue Jun 6 21:20:30 2006 : rcvd [IPCP ConfRej id=0x1 <compress VJ 0f 01>] Tue Jun 6 21:20:30 2006 : sent [IPCP ConfReq id=0x2 <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-dns3 0.0.0.0>] Tue Jun 6 21:20:30 2006 : rcvd [LCP ProtRej id=0x2 80 57 01 01 00 0e 01 0a 02 0a 95 ff fe ac ef 76] Tue Jun 6 21:20:33 2006 : sent [IPCP ConfReq id=0x2 <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-dns3 0.0.0.0>] Tue Jun 6 21:20:34 2006 : rcvd [IPCP ConfReq id=0x1 <addr 192.200.1.21>] Tue Jun 6 21:20:34 2006 : ipcp: returning Configure-ACK Tue Jun 6 21:20:34 2006 : sent [IPCP ConfAck id=0x1 <addr 192.200.1.21>] Tue Jun 6 21:20:34 2006 : rcvd [IPCP ConfNak id=0x2 <addr 10.172.107.117> <ms-dns1 66.94.9.120> <ms-dns3 66.94.25.120>] Tue Jun 6 21:20:34 2006 : sent [IPCP ConfReq id=0x3 <addr 10.172.107.117> <ms-dns1 66.94.9.120> <ms-dns3 66.94.25.120>] Tue Jun 6 21:20:34 2006 : rcvd [IPCP ConfAck id=0x3 <addr 10.172.107.117> <ms-dns1 66.94.9.120> <ms-dns3 66.94.25.120>] Tue Jun 6 21:20:34 2006 : ipcp: up Tue Jun 6 21:20:34 2006 : local IP address 10.172.107.117 Tue Jun 6 21:20:34 2006 : remote IP address 192.200.1.21 Tue Jun 6 21:20:34 2006 : primary DNS address 66.94.9.120 Tue Jun 6 21:20:34 2006 : secondary DNS address 66.94.25.120
Changelog
- 2006-06-06: 0.1
- Initial version, EDGE speeds