Overview
These pages are conceived to keep hold of the experiences and discoveries I made with this phone in its interaction with my linux systems.
- Creating themes: Taking a look at the theme files and their creation with basic Linux tools
- Remote Control: Controlling Linux with the Bluetooth remote control
- Accessing the phone
- File transfer: How to copy files from your computer to your phone and vice versa
- The filesystem: Exploring the directory structure on the Memory Stick
-
Controlling the phone with the computer: Accessing the GSM modem via a serial line
- AT commands for the K750i: Controlling the phone and creating custom user interfaces
- DisGUISE: A C# class library for the Sony Ericsson AT interface
- Tricks and Hints
File transfer
To transfer ringtones, images, themes or any other file to your phone, you have basically three options:
- Grab the memory stick from the phone and insert it into your card reader
- Use the USB cable to access the integrated memory stick
- Use Bluetooth to beam the files towards your device
The first two methods access the storage directly without involving the cellphone software.
Using a cardreader
Using an external cardreader is an easy way of accessing the files of the phone: The memory stick delivered with the cellphone is called "Memory Stick Duo", since it only half as long and thinner than the usual medium. Although most cardreaders accept the smaller variant, an adaptor (hence the name "Duo") is packaged along with it to stretch it to the normal size.
Once the card reader accepts the medium, you can mount it like a normal hard drive.
Using the USB cable
The USB cable works similar, it announces the memory stick to the Linux system, which recognizes it as a mass storage device and assigns a device name for it. It can then be mounted like the card reader.
While the phone is attached to the USB port, access to the memory stick is granted exclusively to the computer, so neither ringtones nor themes originating from the storage card is accessible to the phone. Once the plug is pulled out, the device refreshes its views and shows the files again.
Uploading files via Bluetooth
This method requires a working Bluetooth device on your Linux system: If you have activated Bluetooth on your phone (and enabled visibility), a scan by hcitool should reveal the nickname and MAC address of your cellphone:
stefan@nano:~$ hcitool scan
Scanning ...
00:12:EE:12:34:56 K750i
To transfer files towards the device, you have to install the package obexftp (This is how the package is called by Debian, it may be different for other distributions).
To transfer a file, simply execute obexftp -b 00:12:EE:12:34:56 -p file.ext. The parameter -b instructs the program to use Bluetooth; if you omit the MAC address, obexftp will scan for surrounding Bluetooth devices and select the transfer partner automatically.
Receiving files via Bluetooth
To receivea a file on your computer via the Bluetooth interface, an OBEX server has to be running. A simple example of such a daemon is contained in the Debian package obexserver. The service "OBEX PUSH" also has to be registred to the SDP daemon of the Bluetooth suite; You can do this with the following script:
#!/bin/sh # Register OBEX PUSH sdptool add --channel=10 OPUSH # Launch OBEX server obexserver
You can start this script everytime you wish to retrieve a file from your phone, obexserver will terminate gracefully after each transfer, and after placing the sent file in /tmp/.
The filesystem
The filesystem on the memory stick contains a directory structure that reflects the multiple uses of the storage medium:
- dcim/ does contain the pictures taken with the integrated camera
- mp3/ contains sound files which are accessed by the mutlimedia player and can be used as ringtones
-
mssemc/ Those files are related to the phone itself, the name may be an abbreveation for "memory stick sony ericsson media card" (just a wild guess).
-
Media files/
-
audio/
- ringtones/
- videodj/
- image/
- other/
- theme/ Theme files have to be placed here in order to be recognized by the phone software
- video/
- webpage/
-
audio/
-
Media files/
Although MP3 files on the Memory Stick can be used to signal an incoming call, the sound file for message notification has to reside on the buitin phone memory. So if you want to use a custom sound for it, you have to copy or move the file with the file manager to this integrated storage.
Controlling the phone with the computer
The cellphone offers an (virtual) serial interface that can be used to issue AT commands or trigger other phone functions. The serial line is accessible via the USB cable, as well as via Bluetooth. Once the link is established, you can access the data of the phone, interact with the user interface and manipulate the telephony functions. See my page about various AT commands for more information.
Serial interface via USB
Once you plug in the phone, your Linux system not only recognizes the USB storage device, but also detects the builtin modem. It then should load the appropiate cdc_acm module which brings support for USB modems and ISDN adaptors.
Depending on your DevFS or udev configuration, the new device will be placed under /dev/ttyACM0 and /dev/ttyACM1; consult your logfiles to investigate this. The files can be opened with minicom or any other terminal program, some other programs like xgsm also use this interface to gain access to the phone.
Serial interface via Bluetooth
Instead of relying on a wired connection, you can also use the Bluetooth interface to access this serial line: An easy way to achieve this involves the automatic binding features of the rfcomm daemon. Simply include the following section in the file /etc/bluetooth/rfcomm.conf:
rfcomm0 {
bind yes;
# MAC address of your phone:
device 00:12:12:34:56:78;
}
Now reload the Bluetooth subsystem with /etc/init.d/bluetooth restart. If you already paired your computer with your phone, accessing the device /dev/bluetooth/rfcomm/0 (The exact location depends on your /dev setup) will instruct RFComm to connect to the phone without any user action needed. You can monitor the process with the rfcomm utility:
stefan@nano:~$ rfcomm rfcomm0: 00:12:12:34:56:78 channel 1 clean
Once a process opens the device file /dev/bluetooth/rfcomm/0, the RFComm daemon contacts the phone:
rfcomm0: 00:12:12:34:56:78 channel 1 config [tty-attached]
which results in
rfcomm0: 00:12:12:34:56:78 channel 1 connected [tty-attached]
Once the device file is closed again, the connection is terminated.
Tricks & Hints
These are some tricks that are not linux specific, but interesting:
Service menu
To access the service menu, where you can retrieve some information about the running firmware and check the phones hardware, pull the following button stunt:
- Move the joystick to the right
- Press *
- Move the joystick to the left twice
- Press *
- Move the joystick to the left once again
- And press * another time
GNU/Linux and the Sony Ericsson K750i
