ALoR HomePage

SonyEricsson T68i on Linux 2.4.x

SonyEricsson T68i and Linux 2.4.x

Network features
Built-in Modem

Connection with the phone

I've used a USB cable. My laptop is Presario 705 and it doesn't have an IRDA adapter, bluetooth dongle are too expensive for now !
The cable is an MA-8910c. It is a USB to serial converter and it recharges the phone thru the USB power supply... I don't have to carry my recharger everywhere, I only need a PC with a USB port to recharge my battery :)

Use kernel 2.4.18 and choose "USB Prolific 2303 Single Port Serial Driver" under the "USB serial converter support" menu.

It identifies itself as shown below:

(output from /proc/bus/usb/devices)

    C:* #Ifs= 1 Cfg#= 1 Atr=40 MxPwr=  0mA
    I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
    E:  Ad=81(I) Atr=03(Int.) MxPS=   8 Ivl=255ms
    T:  Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  7 Spd=12  MxCh= 0
    D:  Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
    P:  Vendor=067b ProdID=2303 Rev= 2.02

If you have hotplug installed it should recognize the device and load the module for you, otherwise you have to modprobe usbserial and pl2303. This is the syslog created by hotplug:

     hub.c: USB new device connect on bus1/1, assigned device number 7
     kernel: usbserial.c: PL-2303 converter detected
     kernel: usbserial.c: PL-2303 converter now attached to ttyUSB0 (or usb/tts/0 for devfs)
     /etc/hotplug/usb.agent: Setup pl2303 for USB product 67b/2303/202

Once connected you should have a new entry: /dev/usb/tts/0  (if you are using devfs) or /dev/ttyUSB0 (if using old style dev).
Now you can use minicom to connect to the phone and communicate with it thru AT commands (T68 AT commands)

Using gnokii

I have tried gnokii 0.4.3 and it seems to work (although only in part).

this is how the gknoiirc should be configured:

    port = /dev/usb/tts/0
    model = AT-HW
    initlength = default
    connection = serial
    use_locking = yes
    serial_baudrate = 115200
    serial_write_usleep = 100
    handshake = software
    #require_dcd = 1

Some examples:

    > gnokii --identify
    GNOKII Version 0.4.3
    Initializing AT capable mobile phone ...
    IMEI         : ***hereyourIMEI***
    Manufacturer : ERICSSON 
    Model        : 1130202-BVT68
    Revision     : R2E006      CXC125515

    > gnokii --monitor
    GNOKII Version 0.4.3
    Initializing AT capable mobile phone ...
    Entering monitor mode...
    RFLevel: 12
    Battery: 100
    Power Source: battery
    SIM: Used 130, Free 0
    Phone: Used 510, Free 0
    DC: Used 30, Free 0
    MC: Used 30, Free 0
    RC: Used 30, Free 0

Memory information are not correct. It seem sto report always the value 0 (zero) for free slots.
xgnokii seems to have some problem reading contacts and calendar. Calendar doesn't work at all. Contacts fails near the dumping of the 97th slot.

Using gammu (formerly myGnokii2)

gammu (Gnu All Mobile Management Utilities) can be found here :
my .gammurc looks like this:

    port = /dev/usb/tts/0   
    #model = 6110
    connection = at115200
    #synchronizetime = yes
    #logfile = gammulog
    #logformat = textall
    #use_locking = yes
    #gammuloc = locfile

gammu have the same problem reported with gnokii (the free slots have always a value of zero).

    > gammu --identify
    Model         : unknown at (at)
    Firmware      : R2E006      CXC125515
    IMEI          : ***hereyourIMEI***
    SIM IMSI      : ***hereyourIMSI***

    > gammu --monitor
    If you want break, press Ctrl+C...
    Entering monitor mode...
    SIM phonebook     : Used 130, Free 000
    Phone phonebook   : Used 510, Free 000
    Dialled numbers   : Used 030, Free 000
    Received numbers  : Used 030, Free 000
    Missed numbers    : Used 030, Free 000
    Battery level     : 100 percent
    Network level     : 15 percent
    SIM SMS status    : 1 used, 0 unread, 10 locations
    Phone SMS status  : 13 used, 0 unread, 70 locations

Using openobex

Using the OBEX protocol I've got the best results... at least I was able to dump some interesting infos from the telephone.
You have to install openobex library and the openobex-apps.

Once compiled openobex-apps you should have a little application called obex_test. You can use it to connect to the phone.
here is a session example:

    > ./obex_test -r /dev/usb/tts/0
        OBEX to R320 on /dev/usb/tts/0!
        OBEX Interactive test client/server.
        > c
        cobex_do_at_cmd() Sending command ATZ
        cobex_do_at_cmd() Sending command AT*EOBEX
        cobex_write() Wrote 16 bytes (expected 16)
        cobex_handle_input() Read 7 bytes
        Connect OK!
        Version: 0x10. Flags: 0x00
        > g
        GET File> telecom/pb/0.vcf

        [... snipped ...]

        > d
        cobex_write() Wrote 3 bytes (expected 3)
        cobex_handle_input() Read 3 bytes
        Disconnect done!
        cobex_disconnect() R320!!!
        > q

the list of all the OBEX object that are present in the T68 can be retrived at the end of the T68 AT command document.
obex_test has very few commands:
    c:    connect
    d:    disconnect
    g:    obex GET
    p:    obex PUT

for other supported commando look at main function in obex_test.c

Connecting to the Internet using GPRS

After you have succesfully connected the phone to your PC (see the above section), you can try to use pppd to connect to the internet thru a GPRS connection.
here is my /etc/ppp/peer/gprs configuration:

    # Connect chat script:
    # uses AT commands to setup and 'call' the GPRS connection.
    connect "/usr/sbin/chat -v -f /etc/ppp/peers/gprs-connect"

    # Disconnect script:
    # AT commands used to 'hangup' the GPRS connection.
    disconnect "/usr/sbin/chat -v -f /etc/ppp/peers/gprs-disconnect"
    # The phone is not required to authenticate:

    # Serial device to which the GPRS phone is connected:
    /dev/usb/tts/0 115200

    # Add the ppp interface as default route to the IP routing table

    # Keep pppd attached to the terminal:
    # Comment this to get daemon mode pppd.

    # pppd must not propose any IP address to the peer!

    # DNS servers from the phone:
    # some phones support this, some don't.

/etc/ppp/peers/gprs-connect :

    'ABORT' 'BUSY'
    'ABORT' 'Invalid Login'
    'ABORT' 'Login incorrect'
    '' 'ATZ'
    'OK' 'ATDT*99#'
    'CONNECT' ''

/etc/ppp/peers/gprs-disconnect :

    'ABORT' 'BUSY'
    '' '\K'
    '' '+++ATH'

after you have created these file you can connect with these commands:

    pppd call gprs

this will remain attached to the current shell, so you have to type from another shell :

    route add default gw ppp0

The information contained in this document is offered in good faith, but with no guarantee of any kind.


Email: alor (at) antifork <dot> org   alor (at) users <dot> sf <dot> net

This is my amazon whishlist

GnuPG Key fingerprint = 6B41 2C66 0067 A85D 43CB 4E3E 041A 5874 7D0D 619C