stopsoftwarepatents.eu petition banner

Let's Sign the petition today.

Parent

This document give some hints on how to use the M600i with Debian Etch. Most notes should also apply to debian-based distribution like knoppix, ubuntu/kubuntu, Xandros. OpenSuze, Fedora and gentoo users might find some interesting stuffs too. Users of similar phones might find some interesing stuffs here (especialy those based on Symbian 9.1 like SE's M600c, P1i, P990i,W950 and Nokia E61 )

Connection Howto

Bluetooth

Services

The M600i provides the following services (see Published Services ): AVRCP Target, AVRCP Controller, m-Router Connectivity, m-Router Connectivity, Personal Ad-hoc User Service, Group Ad-hoc Network Service, Audio Streaming Source, SEMC HLA, Dial-up Networking, Headset Audio Gateway, Hands-free Audio Gateway, Object Push, File transfer

Pairing

Of course, you'll need to enable bluetooth on your computer, then pair the devices.

#simple sample configuration 
options {
	autoinit yes;
	security auto;
	pairing multi;
	passkey "1234";
}
device {
	name "%h-%d";
	class 0x3e0100;
	iscan enable; pscan enable;
	lm accept;
	lp rswitch,hold,sniff,park;
}

If you modified the file, run

invoke-rc.d bluetooth restart

Case 1:Computer listens for incoming connection.

Telephone initiates the connection to the computer The computer can enable Inquiry-Scan (=ISCAN : "Visible") and/or Page-Scan (=PSCAN : "Connectable") or none. To make the computer visible, run :

hciconfig hci0 iscan

You can verify the computer's mode by running

hciconfig

in the sample below, the computer is "Visible" (ISCAN).

hci0:	Type: USB
	BD Address: 00:16:CE:00:00:00 ACL MTU: 1017:8 SCO MTU: 64:0
	UP RUNNING ISCAN 
	RX bytes:3153 acl:82 sco:0 events:80 errors:0
	TX bytes:69316 acl:149 sco:0 commands:32 errors:0

then, on the phone :

Case 2:Phone listens for incoming connection.

Telephone initiates the connection to the computer TODO: Write this !

IrDA / Intrared

The phone broadcasts the followind IrDA services :
xid:rsp d6dc388a < 2b051f9e S=6 s=3 M600i hint=9325 [ PnP PDA/Palmtop Modem Telephony IrCOMM IrOBEX ] (22)

USB Cable

The M600i's USB interface can be set in modes "Telephone"(default) and "Storage" mode.

Telephone mode

In this mode (see lsusb output) , you can access all the features, but it can be more complex to setup. You can use:

and more..

Storage mode

In this mode (see lsusb output), you can only access access the phone memoryStick M2 , but it very easy to use (like any usb key).

FileSystem

Transfering files between PC and phone

ObexFtp let you list, copy and move files to/from the phone.

package required: obexftp

List directory: (formated as xml)

obexftp -b 00:19:63:16:E6:89 -B 4 -c'Internal' -l

Upload (put) a file to the phone : (If you don't specify a target folder, the file will be received as message)

obexftp -b 00:19:63:16:E6:89 -B 4 -c'External D' -p README

Download (get) a file from the phone :

obexftp -b 00:19:63:16:E6:89 -B 4 -c'External D' -g README

it's also possible to move and rename... files (see manpage).

#!/bin/bash
# This is a simple script to send files from Gnome Nautils File 
# browser (save this script in ~/.gnome2/nautilus-scripts/)
# http://simbot.wordpress.com/2006/06/04/bluetooth-fuse-obexfs-under-debian/
for arg
do
obexftp -b $FPHONE -p "$arg"
done

Mounting (obexfs)

It is possible to mount the telephone's filesystem (probably most symbian/UIQ3 phones too). Thanks to OpenObex' obexfs

packages required: fuse-utils, obexfs

Installation fuse

Use module assistant to compile fuse. to make it short:

apt-get install module-assistant ; m-a prepare ; m-a auto-install fuse-source

Configure fuse :

echo fuse >> /etc/modules

and

modprobe fuse

Usage

I assume that your devices are already paired. Monting a phone system (as root) :

mount -t fuse "obexfs#-b00:19:63:16:E6:89 -B4" /mnt/frank_bt/

Unmounting Filesystem

fusermount -u

Alternatively, you can define this in /etc/fstab (I wish i could have get "user" option to work..)

obexfs#-b00-11-22-33-44-55  /mnt/host  fuse  fsname=obexfs#-b00-11-22-33-44-55 0 0

Mounting (p3nfs)

First read http://mallorn.de/m600i.html, below are notes specific to Debian Etch

packages required: p3nfs, ppp, kernel >=2.6.18, libproc-pid-file-perl, libnet-dns-perl

references

P3NFS

http:www.koeniglich.de/p3nfs.html

Michael Stürmer's P3nfs tools for "Sony-Ericsson M600i and Linux"

http://mallorn.de/m600i.html

Sending files from PC to the phone using ussh-push

Ussp-push uses "OBEX PUSH protocol" to transfert files from the PC to the phone. It's an alternate solution to obexftp above. The phone are received as message (not directly save to disk).

package required: ussp-push

Typical use

ussp-push MyM600i@3 filetotransfert.ext remote_filename.ext

where "MyM600" is the name of the remote device and "3" is the channel of "OBEX Object Push" (or "OBEX File Transfer"). Channels can be fount using :

sdptool search OPUSH

or

sdptool search FTP

Networking

GPRS/UMTS

A quick-note on how to setup a dial-up connection to the internet over bluetooth and a mobile-phone while on the go.

# My /etc/ppp/peers/gprs
#
defaultroute
noauth
connect "/usr/sbin/chat -v -f /etc/chatscripts/gprs"
debug
/dev/rfcomm0
115200	
updetach
#ipcp-accept-local
#ipcp-accept-remote
usepeerdns

Also we need a chatscript

# This chatfile was generated by pppconfig 2.3.15.
# Please do not delete any of the comments.  Pppconfig needs them.
# 
# ispauth chat
# abortstring
ABORT BUSY ABORT 'NO CARRIER' ABORT VOICE ABORT 'NO DIALTONE' ABORT 'NO DIAL TONE' ABORT 'NO ANSWER' ABORT DELAYED
# modeminit
'' ATZ

#We add gprs specific stuffs.
OK ATE1
OK 'AT+cgdcont=1,"IP","orange"'

# ispnumber
OK-AT-OK "ATDT*99***1#"
# ispconnect
CONNECT ''
# prelogin

# ispname
# isppassword
# postlogin
# end of pppconfig stuff

we might need some password

# Secrets for authentication using CHAP
# client        server  secret                  IP addresses
"orange"                *       "orange"

NAP

Not written yet Connect the phone to your LAN and to HighSpeed connection, while at home

mRouter

m-Router over USB

m-Router is TCP-IP connectivity ovec USB or bluetooth. It's meant for local connection (synchronisation...)

Remote Control

Control a PC

Control a Media player.

That's on my wishlist... it was possible with T610 though (hint: web interface ?)

Appendix

M600i / USB

The SE M600i can operate in two modes : telephone mode (the default profile) or storage mode. you can swith between the two in Control Panel/Conextions/USB.

M600i USB telephone mode 0fce:d031

In this mode, the telephone offers three CDC_ACM (Modem) communication interfaces (/dev/ttyACM{0,1,2}) as well as a "USB Raw Device Access". mode (in french):"Transfert de fichier"

lsusb -d 0fce:d031 -vv
Bus 001 Device 003: ID 0fce:d031 Sony Ericsson Mobile Communications AB 
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            2 Communications
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x0fce Sony Ericsson Mobile Communications AB
  idProduct          0xd031 
  bcdDevice            0.00
  iManufacturer           1 Sony Ericsson Mobile Communications
  iProduct                2 M600i
  iSerial                 3 12345678901234
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength          197
    bNumInterfaces          7
    bConfigurationValue     1
    iConfiguration          4 First and Last and Always
    bmAttributes         0xc0
      Self Powered
    MaxPower              500mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           0
      bInterfaceClass         2 Communications
      bInterfaceSubClass      8 Wireless Handset Control
      bInterfaceProtocol      0 
      iInterface              0 
      CDC Header:
        bcdCDC               1.10
      CDC WHCM:
        bcdVersion           1.00
      CDC Union:
        bMasterInterface        0
        bSlaveInterface         1 2 3 4 5 6 
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         2 Communications
      bInterfaceSubClass      2 Abstract (modem)
      bInterfaceProtocol      1 AT-commands (v.25ter)
      iInterface              5 CDC Comms Interface
      CDC Header:
        bcdCDC               1.00
      CDC ACM:
        bmCapabilities       0x0f
          connection notifications
          sends break
          line coding and serial state
          get/set/clear comm features
      CDC Union:
        bMasterInterface        1
        bSlaveInterface         2 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval             128
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        2
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass        10 CDC Data
      bInterfaceSubClass      0 Unused
      bInterfaceProtocol      0 
      iInterface              6 CDC Data Interface
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        3
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         2 Communications
      bInterfaceSubClass      2 Abstract (modem)
      bInterfaceProtocol      1 AT-commands (v.25ter)
      iInterface              7 CDC Comms Interface
      CDC Header:
        bcdCDC               1.00
      CDC ACM:
        bmCapabilities       0x0f
          connection notifications
          sends break
          line coding and serial state
          get/set/clear comm features
      CDC Union:
        bMasterInterface        3
        bSlaveInterface         4 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x84  EP 4 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval             128
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        4
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass        10 CDC Data
      bInterfaceSubClass      0 Unused
      bInterfaceProtocol      0 
      iInterface              8 CDC Data Interface
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x85  EP 5 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x05  EP 5 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        5
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         2 Communications
      bInterfaceSubClass      2 Abstract (modem)
      bInterfaceProtocol      1 AT-commands (v.25ter)
      iInterface              9 CDC Comms Interface
      CDC Header:
        bcdCDC               1.00
      CDC ACM:
        bmCapabilities       0x0f
          connection notifications
          sends break
          line coding and serial state
          get/set/clear comm features
      CDC Union:
        bMasterInterface        5
        bSlaveInterface         6 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x87  EP 7 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval             128
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        6
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass        10 CDC Data
      bInterfaceSubClass      0 Unused
      bInterfaceProtocol      0 
      iInterface             10 CDC Data Interface
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x88  EP 8 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x08  EP 8 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
Device Status:     0x0000
  (Bus Powered)

M600i USB storage mode 0fce:e031

mode:"Transfert de fichier"

lsusb -d 0fce:e031
Bus 001 Device 002: ID 0fce:e031 Sony Ericsson Mobile Communications AB 
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            2 Communications
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x0fce Sony Ericsson Mobile Communications AB
  idProduct          0xe031 
  bcdDevice            0.00
  iManufacturer           1 Sony Ericsson Mobile Communications
  iProduct                2 M600i
  iSerial                 3 01234567890123
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           32
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          4 First and Last and Always
    bmAttributes         0xc0
      Self Powered
    MaxPower              500mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass         8 Mass Storage
      bInterfaceSubClass      6 SCSI
      bInterfaceProtocol     80 Bulk (Zip)
      iInterface              5 USB Mass Storage Interface
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
Device Status:     0x0000
  (Bus Powered)

M600i / Bluetooth

sdptool browse 00:19:63:00:00:00
Browsing 00:19:63:00:00:00 ...
Service Name: AVRCP Target
Service Description: Audio Video Remote Control
Service Provider: Symbian Software Ltd.
Service RecHandle: 0x10000
Service Class ID List:
  "AV Remote Target" (0x110c)
Protocol Descriptor List:
  "L2CAP" (0x0100)
    PSM: 23
  "AVCTP" (0x0017)
    uint16: 0x100
Profile Descriptor List:
  "AV Remote" (0x110e)
    Version: 0x0100

Service Name: AVRCP Controller
Service Description: Audio Video Remote Control
Service Provider: Symbian Software Ltd.
Service RecHandle: 0x10001
Service Class ID List:
  "AV Remote" (0x110e)
Protocol Descriptor List:
  "L2CAP" (0x0100)
    PSM: 23
  "AVCTP" (0x0017)
    uint16: 0x100
Profile Descriptor List:
  "AV Remote" (0x110e)
    Version: 0x0100

Service Name: m-Router Connectivity
Service Description: m-Router Connectivity
Service Provider: Symbian Ltd.
Service RecHandle: 0x10002
Service Class ID List:
  UUID 128: a2157972-3541-4d0b-a551-b3abe639f526
  "Generic Networking" (0x1201)
Protocol Descriptor List:
  "L2CAP" (0x0100)
  "RFCOMM" (0x0003)
    Channel: 1
Language Base Attr List:
  code_ISO639: 0x656e
  encoding:    0x6a
  base_offset: 0x100

Service Name: m-Router Connectivity
Service Description: m-Router Connectivity
Service Provider: Symbian Ltd.
Service RecHandle: 0x10003
Service Class ID List:
  "Serial Port" (0x1101)
Protocol Descriptor List:
  "L2CAP" (0x0100)
  "RFCOMM" (0x0003)
    Channel: 2
Language Base Attr List:
  code_ISO639: 0x656e
  encoding:    0x6a
  base_offset: 0x100

Service Name: Personal Ad-hoc User Service
Service Description: Personal Ad-hoc User Service
Service Provider: Symbian Software Ltd.
Service RecHandle: 0x1000c
Service Class ID List:
  "PAN User" (0x1115)
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:
  "PAN User" (0x1115)
    Version: 0x0100

Service Name: Group Ad-hoc Network Service
Service Description: Personal Group Ad-hoc Network Service
Service Provider: Symbian Software Ltd.
Service RecHandle: 0x1000d
Service Class ID List:
  "PAN Group Network" (0x1117)
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:
  "PAN Group Network" (0x1117)
    Version: 0x0100

Service Name: Audio Streaming Source
Service Description: Symbian OS,UIQ phone
Service Provider: Sony Ericsson
Service RecHandle: 0x10010
Service Class ID List:
  "Audio Source" (0x110a)
Protocol Descriptor List:
  "L2CAP" (0x0100)
    PSM: 25
  "AVDTP" (0x0019)
    uint16: 0x100
Language Base Attr List:
  code_ISO639: 0x656e
  encoding:    0x6a
  base_offset: 0x100
Profile Descriptor List:
  "Advanced Audio" (0x110d)
    Version: 0x0100

Service Name: SEMC HLA
Service RecHandle: 0x10011
Service Class ID List:
  "" (0x8e771301)
Protocol Descriptor List:
  "L2CAP" (0x0100)
    PSM: 61689
  "" (0x8e770300)
Language Base Attr List:
  code_ISO639: 0x656e
  encoding:    0x6a
  base_offset: 0x100
Profile Descriptor List:
  "" (0x8e771303)
    Version: 0x0100

Service Name: Dial-up Networking
Service Description: Symbian OS,UIQ phone
Service Provider: Sony Ericsson
Service RecHandle: 0x10012
Service Class ID List:
  "Dialup Networking" (0x1103)
Protocol Descriptor List:
  "L2CAP" (0x0100)
  "RFCOMM" (0x0003)
    Channel: 7
Language Base Attr List:
  code_ISO639: 0x656e
  encoding:    0x6a
  base_offset: 0x100
Profile Descriptor List:
  "Dialup Networking" (0x1103)
    Version: 0x0100

Service Name: Headset Audio Gateway
Service Description: Symbian OS,UIQ phone
Service Provider: Sony Ericsson
Service RecHandle: 0x10014
Service Class ID List:
  "Headset Audio Gateway" (0x1112)
  "Generic Audio" (0x1203)
Protocol Descriptor List:
  "L2CAP" (0x0100)
  "RFCOMM" (0x0003)
    Channel: 8
Language Base Attr List:
  code_ISO639: 0x656e
  encoding:    0x6a
  base_offset: 0x100
Profile Descriptor List:
  "Headset" (0x1108)
    Version: 0x0100

Service Name: Hands-free Audio Gateway
Service Description: Symbian OS,UIQ phone
Service Provider: Sony Ericsson
Service RecHandle: 0x10015
Service Class ID List:
  "Handfree Audio Gateway" (0x111f)
  "Generic Audio" (0x1203)
Protocol Descriptor List:
  "L2CAP" (0x0100)
  "RFCOMM" (0x0003)
    Channel: 9
Language Base Attr List:
  code_ISO639: 0x656e
  encoding:    0x6a
  base_offset: 0x100
Profile Descriptor List:
  "Handsfree" (0x111e)
    Version: 0x0105

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

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

References