Bluetooth, Linux, and a Sony Ericsson T616 Mobile Phone

The first thing to do to start having fun with your Sony Ericsson T616 Bluetooth phone and Linux, is to get bluetooth working under Linux. In my case I have Bluetooth support on my Sony VAIO Series A laptop running Fedora Core 3 (FC3) via a built in USB device.

Some bluetooth support is installed with FC3. There is a bluetooth service that is controlled like all other services in a RedHat distro:

service bluetooth start

To test if you are now recognizing the bluetooth device controller, issue the following command:

hcitool dev

The above should give you your local device address in the form 00:00:00:00:00:00

Connecting to the device:

The following is an example of how to connect to a device (In this example my Sony Ericsson T616 mobile phone:)

  • Turn on the phone and enable bluetooth
  • hcitool scan
  • The above command will return the remote device address.
  • sdptool browse <remote device address&rt; (device address will be in the form 00:00:00:00:00:00
  • The above command will will pop up a little window asking for the PIN of the phone.
  • The phone should then ask you to add the device (your laptop) to its devices list.
  • Look for the channel number (RFCOMM) from the garbage that is spit out on the command line
  • bluephone --address=00:0E:07:0A:81:0E --rfcomm=3

NOTE: The gnome-bluetooth-admin tool is a GUI version of sdptool browse command.

Receiving files from the device:

The following is an example of how to receive files from a device (Again, I use my mobile phone as the remote device:)

  • Run the gnome-obex-server app (in the System Tools folder or via command line.)
  • Turn on bluetooth via the switch on the laptop (not necessary to use spicctrl) and launch the service (service bluetooth start.)
  • Turn on bluetooth on the phone.
  • Take a picture with the camera and select "send via bluetooth" then select the laptop device from the menu on the phone.
  • The picture will be placed in your home directory.

Sending files to the device:

  • Run the gnome-obex-send (only via command line) and must have parameters as follows (of course all bluetooth stuff must be up and running):
  • gnome-obex-send --dest xx:xx:xx:xx:xx:xx <file>
  • The phone will want you to confirm what you are doing.

Communicate with a T616 via AT commands: ... Now this is really groovey!

  • Must set up the rfcomm module by editing /etc/bluetooth/rfcomm.conf:
		rfcomm0 {
		        # Automatically bind the device at startup
		        bind yes;
		
		        # Bluetooth address of the device
		        device 00:0E:07:0A:81:0E;
		
		        # RFCOMM channel for the connection
		        channel 1; # this is the Dial-up Networking channel
		        #channel 4; # this is the Serial Port 1 channel
		
		        # Description of the connection
		        comment "Sony Ericsson T616";
		}
		
  • Set the proper device address and the channel to what was present in the sdptool browse output (have not tried what will happen using a different channel - just assumed I was right to use the channel that pointed to the phone's Serial Port.)
  • Restart the bluetooth service and make sure the rfcomm port exists (cat /dev/rfcomm0.)
  • Use Nelson Minar's t616hack python script and edit the COM4 port to be /dev/rfcomm0

Synching a T616 with Evolution or LDAP:

  • Install multisync
  • Hack it to force it to recognize that bluetooth IS enabled - just edit the configure script and put BLUETOOTH=1 just before the final check where it fails.
  • Turn on all bluetooth stuff, run multisync and follow the onscreen instructions - it even will discover the device for you.
  • Add another rfcomm port in the configuration /etc/bluetooth/rfcomm.conf
		rfcomm1 {
		        # Automatically bind the device at startup
		        bind yes;
		
		        # Bluetooth address of the device
		        device 00:0E:07:0A:81:0E;
		
		        # RFCOMM channel for the connection
		        channel 11; # this is the IrMC channel
		        #channel 4; # this is the Serial Port 1 channel
		
		        # Description of the connection
		        comment "Sony Ericsson T616";
		}
		

I don't know if this was necessary but it seemed logical.

NOTE: There appears to be some real problems with multisync. I was unsuccessful in ever synching with the T616 due to crashes with multisync. I am awaiting for the project to mature.

And now for some shameless promotion of a unique Social Networking Community Directory called