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 )
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
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
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 :
Telephone initiates the connection to the computer TODO: Write this !
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)
The M600i's USB interface can be set in modes "Telephone"(default) and "Storage" 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..
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).
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
It is possible to mount the telephone's filesystem (probably most symbian/UIQ3 phones too). Thanks to OpenObex' obexfs
packages required: fuse-utils, obexfs
Use module assistant to compile fuse. to make it short:
apt-get install module-assistant ; m-a prepare ; m-a auto-install fuse-source
echo fuse >> /etc/modules
and
modprobe fuse
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
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
P3NFS
http:www.koeniglich.de/p3nfs.html
Michael Stürmer's P3nfs tools for "Sony-Ericsson M600i and Linux"
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
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"
Not written yet Connect the phone to your LAN and to HighSpeed connection, while at home
m-Router is TCP-IP connectivity ovec USB or bluetooth. It's meant for local connection (synchronisation...)
That's on my wishlist... it was possible with T610 though (hint: web interface ?)
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.
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)
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)
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