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
- Connect the phone to the computer using the USB cable.
- Connect a Bluetooth USB dongle that works with your distro to your computer.
- 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
You might be interested in my Sony-Ericsson posts
http://perassi.org/2007/02/07/ppp-over-gprs-via-bluetooth/
http://perassi.org/2007/04/21/k800i-umts-modem-over-usb/
http://perassi.org/2007/05/08/syncing-sony-ericsson-agenda-with-opensync/
Please let us (me at least :D) know if you find a way to retrieve the stream of the calendar that should be showed on the display of the mobile with the AT command
AT*EAPP=4
Thanks
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…
Do you know if Symbian is the OS used in the sony ericsson k320i?
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…