Sony Ericsson K320i – Advanced Feature List

Mobile phones have never been one of my interests, but lately I decided to spend some more time exploring their capabilities. This includes phone maintenance, data management, data synchronization, networking etc. I do not own any expensive cellular phones (this is a matter of principal). Currently, I use an old Siemens S45 and a Sony-Ericsson K320i. The S45 is not being manufactured any more and the K320 is a rather cheap one, but as you will notice, it has all the necessary features to keep me busy. This post, although it outlines the K320i advanced features, it also shows how to retrieve such information from your phone.

I won’t go into much detail about the features of the Siemens S45. It’s an old phone with limited capabilities. What worths mentioning is that the phone’s flash memory can be mounted by using the SieFS filesystem, which is a filesystem in userspace (works through FUSE).

The K320i Features

For the regular feature listing, please visit the manufacturer’s website.

What I will describe here is how to get a list of the phone capabilities that are available over the USB and the Bluetooth interfaces under the Linux operating system.

This post is being written in a very fast pace. I’ll add much more detail when I have enough free time.

Preparation

  1. Connect the phone to the computer using the USB cable.
  2. Connect a Bluetooth USB dongle that works with your distro to your computer.
  3. Turn on Bluetooth on the phone.

Over the USB Interface

Once the phone has been connected to the computer with the USB cable, two device nodes, /dev/ttyACM0 and /dev/ttyACM1, should be created. Unless you have adjusted the permissions on these devices so you can manage them from a regular user account, use root to browse the phone capabilities over the USB interface:

# obexftp -t /dev/ttyACM0 -X
Connecting...failed: connect
Still trying to connect
Connecting...done
Receiving "(null)"...< ?xml version="1.0" encoding="UTF-8"?>
< !DOCTYPE Capability SYSTEM "obex-capability.dtd">
<!--
 XML Coder, (C) 2001 Sony Ericsson Mobile Communications AB 
-->
<capability Version="1.0"><general><manufacturer>Sony Ericsson</manufacturer>
<model>K320i</model>
<sn>XXXXXXXXXXXXXXXXXX</sn>
<sw Version="XXXXXXXXXXXXXXX" Date="XXXXXXXXXXXX"/>
<language>EN</language>
<memory><memtype>DEV</memtype>
<location>/</location>
</memory>
</general>
<service><name>Folder-Browsing</name>
<uuid>XXXXXXXX-XXXXXX-XXXX-XXXXX-XXXXXXXXXXXX</uuid>
<version>1.0</version>
<object><type>x-obex/folder-listing</type>
</object>
<ext><xnam>Pictures</xnam>
<xval>Folder=/Pictures</xval>
<xval>MemType=DEV</xval>
</ext>
<ext><xnam>Camera Pictures</xnam>
<xval>Folder=/Picturesimage/camera_semc/100MSDCF</xval>
<xval>MemType=DEV</xval>
</ext>
<ext><xnam>Videos</xnam>
<xval>Folder=/Videos</xval>
<xval>MemType=DEV</xval>
</ext>
<ext><xnam>Cam. Video Clips</xnam>
<xval>Folder=/Videos/camera</xval>
<xval>MemType=DEV</xval>
</ext>
<ext><xnam>Sounds</xnam>
<xval>Folder=/Sounds</xval>
<xval>MemType=DEV</xval>
</ext>
<ext><xnam>Ringtones</xnam>
<xval>Folder=/Sounds/ringtones</xval>
<xval>MemType=DEV</xval>
</ext>
<ext><xnam>VideoDJ</xnam>
<xval>Folder=/Sounds/videodj</xval>
<xval>MemType=DEV</xval>
</ext>
<ext><xnam>Themes</xnam>
<xval>Folder=/Themes</xval>
<xval>MemType=DEV</xval>
</ext>
<ext><xnam>Others</xnam>
<xval>Folder=/Other</xval>
<xval>MemType=DEV</xval>
</ext>
</service>
</capability>
done
Disconnecting...done

The phone’s serial number and some other info has been replaced by Xs.

As you can clearly see, there is nothing to get excited about over the USB interface. It seems that by using the openobex utilities over the USB interface all I can do is transfer files etc.

Over the Bluetooth Interface

Here you will use two utilities, hcitool and sdptool. Both are part of the bluez-utils package in Fedora.

First, scan for your device, so to get its hardware address (replaced by Xs here):

# hcitool scan
Scanning ...
        XX:XX:XX:XX:XX:XX       GNOT

Then browse the available phone services that are available over the bluetooth interface:

# sdptool browse XX:XX:XX:XX:XX:XX
Browsing XX:XX:XX:XX:XX:XX ...
Service Description: Sony Ericsson K320
Service RecHandle: 0x10000
Service Class ID List:
  "PnP Information" (0x1200)

Service Name: Dial-up Networking
Service RecHandle: 0x10001
Service Class ID List:
  "Dialup Networking" (0x1103)
  "Generic Networking" (0x1201)
Protocol Descriptor List:
  "L2CAP" (0x0100)
  "RFCOMM" (0x0003)
    Channel: 1
Profile Descriptor List:
  "Dialup Networking" (0x1103)
    Version: 0x0100

Service Name: Serial Port
Service RecHandle: 0x10002
Service Class ID List:
  "Serial Port" (0x1101)
Protocol Descriptor List:
  "L2CAP" (0x0100)
  "RFCOMM" (0x0003)
    Channel: 2

Service Name: HF Voice Gateway
Service RecHandle: 0x10003
Service Class ID List:
  "Handfree Audio Gateway" (0x111f)
  "Generic Audio" (0x1203)
Protocol Descriptor List:
  "L2CAP" (0x0100)
  "RFCOMM" (0x0003)
    Channel: 3
Profile Descriptor List:
  "Handsfree" (0x111e)
    Version: 0x0101

Service Name: HS Voice Gateway
Service RecHandle: 0x10004
Service Class ID List:
  "Headset Audio Gateway" (0x1112)
  "Generic Audio" (0x1203)
Protocol Descriptor List:
  "L2CAP" (0x0100)
  "RFCOMM" (0x0003)
    Channel: 4
Profile Descriptor List:
  "Headset" (0x1108)
    Version: 0x0100

Service Name: OBEX Object Push
Service RecHandle: 0x10005
Service Class ID List:
  "OBEX Object Push" (0x1105)
Protocol Descriptor List:
  "L2CAP" (0x0100)
  "RFCOMM" (0x0003)
    Channel: 5
  "OBEX" (0x0008)
Profile Descriptor List:
  "OBEX Object Push" (0x1105)
    Version: 0x0100

Service Name: OBEX File Transfer
Service RecHandle: 0x10006
Service Class ID List:
  "OBEX File Transfer" (0x1106)
Protocol Descriptor List:
  "L2CAP" (0x0100)
  "RFCOMM" (0x0003)
    Channel: 6
  "OBEX" (0x0008)
Profile Descriptor List:
  "OBEX File Transfer" (0x1106)
    Version: 0x0100

Service Name: OBEX SyncML Client
Service RecHandle: 0x10007
Service Class ID List:
  UUID 128: XXXXXXXx-xXXXXXXXXXXXXXX-XXXXXXX-XXXXXXx
Protocol Descriptor List:
  "L2CAP" (0x0100)
  "RFCOMM" (0x0003)
    Channel: 7
  "OBEX" (0x0008)

Service Name: OBEX IrMC Sync Server
Service RecHandle: 0x10008
Service Class ID List:
  "IrMC Sync" (0x1104)
Protocol Descriptor List:
  "L2CAP" (0x0100)
  "RFCOMM" (0x0003)
    Channel: 8
  "OBEX" (0x0008)
Profile Descriptor List:
  "IrMC Sync" (0x1104)
    Version: 0x0100

Service Name: NAP service
Service Description: NAP description
Service RecHandle: 0x10009
Service Class ID List:
  "Network Access Point" (0x1116)
Protocol Descriptor List:
  "L2CAP" (0x0100)
    PSM: 15
  "BNEP" (0x000f)
    Version: 0x0100
    SEQ8: 0 6 dd
Language Base Attr List:
  code_ISO639: 0x656e
  encoding:    0x6a
  base_offset: 0x100
Profile Descriptor List:
  "Network Access Point" (0x1116)
    Version: 0x0100

Service Name: Mouse & Keyboard
Service Description: Remote Control
Service Provider: Sony Ericsson
Service RecHandle: 0x1000a
Service Class ID List:
  "Human Interface Device" (0x1124)
Protocol Descriptor List:
  "L2CAP" (0x0100)
    PSM: 17
  "HIDP" (0x0011)
Language Base Attr List:
  code_ISO639: 0x656e
  encoding:    0x6a
  base_offset: 0x100
Profile Descriptor List:
  "Human Interface Device" (0x1124)
    Version: 0x0100

Please note, that it is still possible to retrieve this list by using obexftp:

# obexftp -b XX:XX:XX:XX:XX:XX -X

But, I prefer sdptool‘s output.

Now this is becoming interesting! As you can see, over the BT interface the phone can be used as a modem, one can connect to its serial interface and execute AT commands, transfer files to and from the phone, synchronize the data with the data on the computer (IrMC and SyncML), it can act as a Network Access Point (NAP) or can be used as remote control.

Actually, what I did not manage to do is to establish a working network connection between the mobile phone and the computer (over the BNEP interface). All other things seem to work fine.

I’ll publish separate articles about how to accomplish all these tasks and I’ll also look for any info about how to create a Personal Area Network (PAN) between the phone and the computer. What seems to be the problem is how to trigger the phone so that it gets an IP address from the LAN’s DHCP server. Anyway, I don’t have enough time for this right now, but it is in my TODO list.

Sony Ericsson K320i – Advanced Feature List by George Notaras is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
Copyright © 2007 - Some Rights Reserved

George Notaras avatar

About George Notaras

George Notaras is the editor of the G-Loaded Journal, a technical blog about Free and Open-Source Software. George, among other things, is an enthusiast self-taught GNU/Linux system administrator. He has created this web site to share the IT knowledge and experience he has gained over the years with other people. George primarily uses CentOS and Fedora. He has also developed some open-source software projects in his spare time.

4 responses on “Sony Ericsson K320i – Advanced Feature List

  1. George Notaras Post authorPermalink →

    Very useful information. Thanks for sharing. :)

    As for the AT commands, I have downloaded the AT command reference for the family of phones from SE, but didn’t have the time to check it. But, I’ll do…

  2. John Pilfer Permalink →

    Do you know if Symbian is the OS used in the sony ericsson k320i?

  3. George Notaras Post authorPermalink →

    AFAIK, it is not a symbian phone.
    I have the suspicion that, despite the fact that there is a NAP service listed, the phone’s OS won’t let me set up a networking connection with the PC, so that the phone can connect to the internet through the DSL line… It would be nice though…