Getting the Sony Ericsson GC82 EDGE modem to work with a
PowerBook and Mac OS X
TIGER UPDATE, 8 June 2005.
I have not personally upgraded to Tiger 'cause I, um, broke
my PowerBook back in December. I have one provided to me by my
employer but since it's theirs and I have to use the Cisco VPN
Client, I can't upgrade until the security people say I can.
And yes, I know that Cisco released an update that's supposed
to work with Tiger. Until it comes with a stamp of approval
from the right people, there's nothing I can do.
Anyway, I've gotten emails from at least a half dozen people
trying to get their GC8x cards to work under Tiger. It appears
that Apple has changed something in Internet Connect, and the
wrapper script is no longer triggered the way it was under
Panther. I've heard that there's a firmware update that fixes
the bogus pppd on the various GC8x card models out there, but
I haven't seen it with my own eyes and I've only received one
such email (and that email also said that the card seems to
drop its connection more frequently than before). Make of
that what you will.
Pardon my skepticism, but I also received an email from
somebody at NovaMedia after the 10.3.6 update, saying that the
update eliminated the requirement for a wrapper. The email was
nice, but it also didn't work for me. I believe things when I
see them.
To get back on the subject, if you want to get a GC8x card
to work on Mac OS X your options are either to stay on 10.3.x
until I can upgrade (not a very good answer, I know), or debug
Internet Connect and/or the wrapper so that the proper options
get sent to the card. If you have access to a Windows computer
you can try the firmware upgrade, too.
In other non-news, I've gotten a number of positive reports
with the GC83 card under Panther, so it appears that the pppd
fix is portable.
Version 2.0, 21 April 2004.
Changes since 1.5: Rewrote most of the Modem Script code. Added handler for SIM PIN, PUK, and Phone-SIM password; added check for signal quality; added option for setting QOS. Updated documentation to reflect those changes.
Changes since 1.1: Updated pppd instructions and code.
Recompiling the daemon is most likely unnecessary, but those
instructions remain available for those who prefer to do things
the hard way. Made documentation XHTML compliant.
Changes since 1.0: Documentation only. Clarified steps and
added forgotten image in pppd instructions; clarified roaming
information.
TODO:
- Package everything for the Mac OS X Installer
For updates see
http://fedward.org/GC82/
.
NOTE: I have personally tested this only on my PowerBook G4 running Mac
OS X 10.3.3 (Panther). I can neither confirm nor deny that it
will work on any other version of Mac OS X (or that the modem
script itself will work on Classic Mac OS) but I have no reason
to believe that it won't work. The steps to modify pppd
(apparently necessary with all publicly available revisions of
the GC82) may change somewhat for other releases of Mac OS X,
but the basic ideas should be the same.
I have had several reports of success from other users. If I hear of any failure I can't manage to fix, I'll update the docs to say what definitely doesn't work.
Acknowledgements go to the members of the AT&T Wireless
"
Mobile Professional
" forum and
this post
by "liverdonor" on the AT&T Wireless Developer forums.
Special thanks go to
Ross Barkman
and
Alexander Traud
, both of whose existing modem scripts provided examples and
structure that ended up in mine for the GC82.
Steps to success:
-
Download
and expand the archive if you have not done so already. You
will find a folder called "Sony Ericsson GC82" in your
browser's downloads directory.
-
Close
the Network preferences pane if it's open.
- Open the "Sony Ericsson GC82" folder and copy the "Sony
Ericsson GC82 CID*" files contained therein into
/Library/Modem Scripts/ .
- Unless you have an as yet unseen version of the firmware
in your GC82, refer now to the instructions on
pppd
, then return
here
when you're done.
- Insert your SIM card in the GC82, and connect the
antenna. Insert the GC82 in your PowerBook's PCMCIA slot. If
you've never done this before, the Network preferences pane
will open, and a dialog will appear saying that a new network
interface has been attached. You can rename it from
"pc-cardSerial." I called mine "Sony Ericsson GC82."
- Select that network port and click the configure button.
Select the PPP tab.
- Service Provider - whatever works for you, presumably
something descriptive of who the actual service provider
is.
- Account Name
- Password - For both of these, see the documentation
given to you by your service provider, or check the
list
on Ross Barkman's site. If they are both blank, put a space
in one of them and the option to save the "password" will
become active.
- Telephone Number - put your provider's Access Point
Name (APN), as found in your documentation or Ross
Barkman's list in 6c above.
- Click the "PPP Options..." button.
For most networks, deselect both "Send PPP echo packets"
and "Use TCP header compression." If your provider supports
it, you can go back and enable TCP header compression later
after everything is working (again, see that same list for
configuration info). Click "OK" for that sheet.
- Select the "Modem" tab.
- In the "Modem" pulldown, select the appropriate "Sony
Ericsson GC82 CID*" script from the eight you should have
copied in step 3. If they're not there, go to
step 2
.
- Select "Enable error correction and compression in
modem."
- Click the "Apply now" button.
Asked Questions (Some more frequent than others):
- Q1: What's with all the different files? What CID should
I use? What does +QOS mean?
A1: "CID" stands for PDP Context ID, and corresponds to the
"channel" of service you're using on your network. Context
IDs 1 and 3 seem to be interchangable on my provider
(AT&T Wireless), but some networks are picky. If you
don't know which one to use, start with 1 and go up from
there. The files with +QOS on the end of them are exactly the same as the non-QOS ones, with the exception that they attempt to request a minimum "Quality of Service" from the network. I've been told that the AT&T Wireless network will currently ignore any such request, but I'm not convinced.
Setting a "required" QOS may cause your connection to fail. So far it hasn't happened for me, but if you're using the +QOS script and things stop working, the first thing to try is the non +QOS flavor with the same CID.
- Q2: PDP context ID? APN? Huh? I just want to connect to
INTERNET.
A2: That's not really phrased as a question, and "Internet"
usually takes an article and isn't an abbreviation, but I
think I know what you mean. Because the EDGE network is
already digital, you don't actually dial up using the GC82 or
a similar card. You enable a feature of the network with what
looks like a phone number, but that just tells the device
what "context" to use. And no, you really don't have to know
what "context" means in this, er, context to get your
PowerBook onto the Internet.
- Q3: I don't have any of that information, but I know I'm
supposed to dial "*99***1#" for data service on my phone. How
do I get online, already?
A3: There's one crucial bit of information in that number --
the digit between the *** and the #. That's the context ID.
Use the "CID*" modem script that corresponds to that digit.
For the rest of the configuration, find your carrier in the
list
and follow the instructions above.
- Q4: Some configuration in the script won't work on my
network. How do I change it?
A4: Grab the text editor of your choice (I recommend
BBEdit
) and have at the modem script, which is just a plain text
file anyway. I recommend selecting "Use verbose logging" in
the PPP Options sheet (attached to the PPP tab of the Network
preferences pane) and watching the Internet Connect log so
you can see where the failure happens.
- Q5: Can I request a level of service?
A5: You can, but it doesn't appear to work very well. There are now scripts provided that attempt to set minimum (+CGEQMIN) and requested (+CGEQREQ) QOS parameters, but in my experience even just using the command on the card (before you've connected to the network) fails around half the time.
So far in my tests, attempting to set the QOS hasn't caused the connection to fail, but it sure might. If you want to modify those settings and see if you can get them to work reliably, please do.
- Q6: Will this allow and/or prevent me from roaming?
A6: Roaming is tricky. It's possible to check the network
registration when the connection starts, but Mac OS X doesn't
appear to have a callback mechanism (programmer term) to
handle the message from the device when its network status
changes to roaming once the PPP connection is started. This
solution is a punt. If the home network is available then it
will be used by default. If a roaming connection is detected
at startup, Internet Connect will pop up a dialog box
alerting you to the fact.
You have to decide if you want to continue or cancel. After
that there's no way to prevent you from roaming. Logically,
if you're stationary you don't have to worry about roaming.
When you start to roam your IP address will change, which
presumably should cause your PPP connection to drop. At that
point you would reconnect and get the aforementioned roaming
dialog box.
- Q7: So will it prevent me from roaming or not? I don't
want to get a
$3600 bill
like that one guy.
A7: No. But neither, it seems, will the AT&T
Communication Manager on Windows. It looks like the
Communication Manager drops out of data mode periodically to
check network registration, which means that you could (in
theory) roam for
"up to 30 seconds"
before the system caught up with you. In practice it doesn't
look like much of a risk.
The problem with that question is the word "prevent." When
you connect initially, Internet Connect will pop up a dialog
box that says you're about to roam. Since I can't follow you
around and "prevent" you from clicking the "OK" button,
there's no prevention about it. That said, if you don't get
that dialog, it means you're on your home network. It's
highly unlikely you'll start to roam without being dropped
from the network in the process, but I don't have the
background in GPRS network engineering to provide an answer
with complete certainty.
It also now appears that this is much less of an issue with the new "GSM America" plans from AT&T Wireless. Caveat browser, of course, since you can still run into trouble if your off-network usage is too heavy.
- Q8: Will this break my card or my Macintosh? Will it void
any warranties? Is there any warranty for this software or
these instructions?
A8: No. No. No.
- Q9: Do I need the latest and greatest firmware for the
GC82?
A9: I don't know. It appears to be a good idea to upgrade the
firmware of the card, but I don't know of any reason a card
with the older firmware wouldn't work. The firmware I've used
successfully is R1E2. I had R1D1, but I upgraded it before I
got the modem script to work thinking it was part of the
problem, and then I found out the problem was something else.
The update is freely available from
Sony Ericsson
but you have to have a Windows machine with a PCMCIA Type 2
slot available to run it.
It is possible that a future firmware update will render all
the pppd hacking unnecessary, but considering the lack of
official support for anything but Windows I wouldn't hold my
breath, and I don't recommend you do either. You'll turn blue.
- Q10: I get a PC Card icon in the menu bar whenever I
insert the card, but the name of the card is inactive. Is
that a problem?
A10: No. It's normal for that kind of card, which is just a
serial interface as far as the system is concerned.
- Q11: What kind of support is there for this?
A11: You're looking at it. You could also try
Google
. If you're on AT&T Wireless, try the "
Mobile Professional
" forum on their web site, but I don't gather they'd take too
kindly to questions about configurations for other carriers.
- Q12: Why doesn't Sony Ericsson provide Mac support? Why
doesn't my cellular provider provide Mac support?
A12: Sheer obstinance? I have no answer for that question.
Might as well ask me when I stopped beating my wife.
- Q13: When did y...
A13: Don't make me come through the screen and beat you.
- Q14: How fast is it? Can I tell how strong the signal is?
A14: How fast it is depends on how strong the signal is, so it's good that I presumed you asked both questions together. The most recent version of the modem script will query the card at each connection with "AT+CSQ" and report the results. Signal strength is given as a number from 0-31 (higher numbers are better); the script also translates that number into the corresponding RSSI ("Received Signal Strength Indicator") value, which ranges from -113dBm or less at 0 to -51dBm or better at 31. There's a limitation within the CCL language behind Internet Connect that it can only compare 32 different strings for matches at once, so the one remaining option (99, which means "unknown strength") is assumed to be true if the other 32 aren't.
Anyway, the higher the number from AT+CSQ (or the less negative the RSSI), the more likely it is you'll see something approaching the 100-130Kbps average speeds being advertised for EDGE. I have yet to see those speeds myself, but I reached a steady 90Kbps while in line of sight to a cellular tower, with a reported strength of 27 (RSSI -59dBm). Real world results seem to be roughly comparable to what Windows users get in the same geographic areas.
While we're talking about signal quality, I should also add that the AT+CSQ command returns a second value for bit error rate (RXQUAL) -- but so far I've only seen it return 99, which is the "unknown value" indicator in that field as well. The script will look for it, but so far it hasn't indicated anything at all.
- Q15: I just installed a previous version. Should I install the update?
A15: Yup. Make note of the changes listed at the top of the page and change only the files necessary. If you installed 1.5, all you need to do is copy the new modem scripts into /Library/Modem Scripts. If you went by the old directions that had you recompiling pppd, then you should restore the original pppd and follow the instructions from the top.
The logic of the modem scripts is much improved in the new release. Even if you don't use a PIN on your SIM card, the signal quality reporting will be very useful if you have to call somebody to complain about slow speeds. And you'll probably end up doing that at some point.
- Q16: Are there any bugs or known issues?
A16: Yes, unfortunately. There are two that I know of, both minor.
One is easy to duplicate: disconnect, and then as soon as the "connect" button turns blue in Internet Connect, try to connect again. It'll fail. These seems to be something in how the system handles the serial port and how it's released when a program is done with it, and there's nothing I can do within the modem script to make that any better. The workaround is just to wait five to ten seconds after the "connect" button turns blue, so keep your itchy clicking finger (well, thumb) in check.
The second issue is annoying to me as a Mac user and programmer: custom exit messages aren't displayed. The modem script has detailed exit messages for most possible errors, but the generic system ones are used instead. That's not what the documentation says is supposed to happen. Feh.
- Q17: My question wasn't answered here. How can I contact
you?
A17: If you're really nice and write in complete sentences,
you can
email me
. If I can't figure out what on earth you mean I'll probably
delete your message without a reply. For best results getting
past the spam filter, I recommend plain text email and no
attachments.