T610 Debian GPRS Howto

Introduction

This document describes how to use a Sony Ericsson T610 mobile and a Debian Linux laptop to connect to the Internet via GPRS. It also explains the "120 seconds disconnect issue", which took me forever to figure out (and at one point I believed my T610 was defect). Hope it will be useful to somebody. If you're not interested my feelings about Sony Ericsson, please scroll to the bottom quickly.

Links

Bluetooth, Linux and the T610 - a great description on how to set up bluetooth.

Goal

Using a Sony Ericsson T610 mobile and a Debian Linux laptop to connect to the Internet via GPRS.

Hardware

Mobile Phone - Sony Ericsson T610

A nice mobile phone. Especially the exterior. The UI could use a workover. It is just something with the menus being in the wrong place and the need for pushing too many buttons to do the simple stuff. During the first 3 hours of use I found at least 6 bad design decisions.

Didn't the developers care or are they really that stupid?
My next phone will be one where I can check out the source from CVS!
Desperately trying to solve the "120 seconds disconnect issue" I wrote a mail to Sony Ericsson customer support:
Hi,

I have a problem with the T610 and GPRS. I use Linux and dial the
number *99***n# (where n is the CID of the connection settings in
the phone. It works fine (I can browse the Internet etc.), but after
120 seconds the connection is diconnected.

I have tried with a friends T610 (he does not have this problem).
Using his phone I experience the same problem: disconnect after
120 seconds. My friend uses Microsoft Windows and I use Linux.

My Linux works fine using the internal modem in my laptop. The
disconnect happens regardless if I'm sending or receiving
data.

This must be a Linux/T610 issue. I have searched the Internet and
could not find anything on this problem?

Could you please tell me the initialization string send by Windows
when making GPRS calls? I could then try this as part of my Linux
setup.

Best regards,

Peter Favrholdt
Here is the answer I got two days later (2003-12-05):
Dear Peter ,

Thank you for contacting Sony Ericsson Customer Care Center.

Sony Ericsson cannot guarantee any functionallity to the Linux
operating system and can therefor not help you with your problem.

Please refere to any support for Linux or try to install the phone
modem on a computer with Window operating system.

Best regards,

/Linus
Customer support don't support Linux?
My next phone will run Linux goddammit!
I wrote them again:
Hi,

Please forward my initial request to somebody at Sony Ericsson who knows
about this, e.g. a field test engineer on T610.

My request: to get to know if there is any special initialization
strings used in the Microsoft Windows connectivity pack, e.g. ATxxx in
order to disable the 120 seconds auto-disconnect feature.

Thanks!

Best regards,

Peter Favrholdt
And believe it or not, this time I got a very similar answer (note the mispellings) two days later (2003-12-16). This time it is Fredrik and not Linus who answers and I'm not a customer anymore but only a consumer:
Dear Consumer,

Thank you for contacting Sony Ericsson Customer Care Center.

Sony Ericsson cannot guarantee any functionallity to the Linux
operating system and can therefor not help you with your problem.

You can find an AT reference guide at www.ericsson.com/mobilityworld

Best regards,

/Fredrik

Sony Ericsson Customer Care Center
Anyway quite nice of Fredrik to give me a link to an AT reference guide. But it didn't help me solve the "120 seconds disconnect issue".
After this I wrote a mail to them which was not so polite:
Hi again,
Please read my comments below:

Sony Ericsson Customer Care Center wrote:
> Dear Consumer,

I guess I am a Developer and Customer. What do you mean by "Consumer"?

> Thank you for contacting Sony Ericsson Customer Care Center.

Thanks for not answering my questions.

> Sony Ericsson cannot guarantee any functionallity to the Linux
> operating system and can therefor not help you with your problem.

I am not asking you to guarantee anything. I'm asking about what AT
initstring the windows connectivity pack sends to the phone when
initiating GPRS. This has to do with windows not linux!

> You can find an AT reference guide at www.ericsson.com/mobilityworld

Thanks, I'll take a look at that!
Best regards,
Peter Favrholdt

PS: you cannot continue to ignore the Linux operating system. If you do:
a lot of people (consumers, customers, developers, whatever) will ignore
Sony Ericsson. I'm confident this is not what you want.

Strangely, I haven't got a reply. Maybe they're still working on it:-)

Laptop - Acer TravelMate 340T

I'm very happy with this laptop.  For more info on running  Linux on this laptop see http://www.muted.org/acer/

Bluetooth

I'm using the Trust BT120 USB Bluetooth adapter and it works except now and then the laptop freezes. This happens especially when the ppp connection is released while simultaneously doing something CPU-intensitive (this was a real pain before the "120 seconds disconnect issue" was solved). I expect it to be either a problem in the bluez stack or due to my special RTAI patched 2.4.21 kernel. It does not happen if the BT120 is not connected.

I can't remember the exact steps to setup the bluetooth stuff, but here are some keywords:

Important commands:

hcitool scan
l2ping

Important files:

/etc/bluetooth/pin
/etc/bluetooth/hcid.conf
/etc/bluetooth/rfcomm.conf

Software

Kernel

The Bluez stack on kernel 2.4.21-rthal5. The l2cap, rfcomm and bluez are compiled as modules.

PPP

Here is the key to the "120 seconds disconnect issue":

In the /etc/ppp/options file comment out the following two lines:

#lcp-echo-interval 30
#lcp-echo-failure 4

It seems pppd defaults to sending an LCP echo-request frame to the T610 (which it ignores). After 4 unsuccessful attempts, pppd destroys the connection. Four times 30 equals 120 seconds.

I feel stupid! I did RTFM! I did google! BUT I DID NOT READ THE CONFIG FILES! When I finally did read the config file it was obvious! RTFCF!

Last modified: $Date: 2005/04/25 12:32:21 $