LinuxQuestions.org
Welcome to the most active Linux Forum on the web.
Go Back   LinuxQuestions.org > Blogs > ted_chou12
User Name
Password

Notices


Rate this Entry

bluetooth how to, hcitool, obexftp, rfcomm

Posted 03-03-2013 at 07:05 AM by ted_chou12

Hi, I am trying to figure out how to connect a phone by bluetooth thru terminal. I am just posting my progress here:
First! I Don't know how Ive got it working, but there must be something that I have done correctly to ensure the connection was successfully made. Secondly, this is going to be a mess and you are warned. Third, there is really not much info on this and quite a lot of them are specific issues rather than guides. I will make this as helpful and informative as I can:

Ensure that you have these installed:
Code:
root:# slapt-get --search blue
bluedevil-1.2.2-i586-1vl70 [inst=no]: bluedevil (bluetooth stack for KDE)
bluefish-2.0.2-i586-1vl70 [inst=no]: Bluefish (GTK-based HTML Editor)
bluefish-2.2.3-i586-2vl70 [inst=no]: bluefish ()
bluegriffon-1.4-i586-1vl70 [inst=no]: bluegriffon (WYSIWYG Web Editor based on the rendering engine of Firefox)
blueman-1.23-i586-1vl70 [inst=yes]: blueman (a GTK+ Bluetooth Manager)
bluez-4.91-i486-1 [inst=no]: bluez (Bluetooth libraries and utilities)
bluez-4.99-i586-1vl70 [inst=yes]: bluez (Bluetooth libraries and utilities)
bluez-firmware-1.2-i486-1 [inst=yes]: bluez-firmware (Bluetooth(TM) firmware)
bluez-hcidump-2.0-i486-1 [inst=yes]: bluez-hcidump (Bluetooth analyzer)
bluez-libs-3.29-i586-1vl70 [inst=yes]: bluez-libs (Library files for Bluetooth layers)
deskmenu-1.4.5-i586-1vl70 [inst=no]: deskmenu (root menu program for X)
filelight-1.9.0-i586-1vl70 [inst=no]: filelight (Graphically represents diskspace usage)
libbluedevil-1.9.1-i586-1vl70 [inst=no]: libbluedevil (A Qt wrapper for bluez)
mate-bluetooth-1.4.0-i586-1vl70 [inst=no]: mate-bluetooth (MATE bluetooth application)
obexd-0.47-i586-1vl70 [inst=no]: obexd (OBEX Server and Client)
winefish-1.3.3-i586-9vl70 [inst=no]: LaTeX editor based on Bluefish with auto-completion and syntax highl
obexftp-0.23-i486-5 [inst=yes]: obexftp (Access devices via ObexFTP, such as mobile phones)
Secondly use hcitool to descover devices:
Code:
root:# hcitool scan
Scanning ...
        50:56:63:A6:5E:06       HTC One X
Now use sdptool to show available services:
Code:
root:# sdptool browse 50:56:63:A6:5E:06
Browsing 50:56:63:A6:5E:06 ...
Service RecHandle: 0x10000
Service Class ID List:
  "PnP Information" (0x1200)
Profile Descriptor List:
  "PnP Information" (0x1200)
    Version: 0x0102

Service Name: Audio Source
Service RecHandle: 0x10001
Service Class ID List:
  "Audio Source" (0x110a)
Protocol Descriptor List:
  "L2CAP" (0x0100)
    PSM: 25
  "AVDTP" (0x0019)
    uint16: 0x102
Profile Descriptor List:
  "Advanced Audio" (0x110d)
    Version: 0x0102

Service Name: AVRCP TG
Service RecHandle: 0x10002
Service Class ID List:
  "AV Remote Target" (0x110c)
Protocol Descriptor List:
  "L2CAP" (0x0100)
    PSM: 23
  "AVCTP" (0x0017)
    uint16: 0x103
Profile Descriptor List:
  "AV Remote" (0x110e)
    Version: 0x0100

Service Name: Voice Gateway
Service RecHandle: 0x10003
Service Class ID List:
  "Headset Audio Gateway" (0x1112)
  "Generic Audio" (0x1203)
Protocol Descriptor List:
  "L2CAP" (0x0100)
  "RFCOMM" (0x0003)
    Channel: 11
Profile Descriptor List:
  "Headset" (0x1108)
    Version: 0x0100

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

Service Name: Voice Gateway
Service RecHandle: 0x10005
Service Class ID List:
  "Handsfree Audio Gateway" (0x111f)
  "Generic Audio" (0x1203)
Protocol Descriptor List:
  "L2CAP" (0x0100)
  "RFCOMM" (0x0003)
    Channel: 10
Profile Descriptor List:
  "Handsfree" (0x111e)
    Version: 0x0106

Service Name: OBEX Phonebook Access Server
Service RecHandle: 0x10006
Service Class ID List:
  "Phonebook Access - PSE" (0x112f)
Protocol Descriptor List:
  "L2CAP" (0x0100)
  "RFCOMM" (0x0003)
    Channel: 19
  "OBEX" (0x0008)
Profile Descriptor List:
  "Phonebook Access" (0x1130)
    Version: 0x0100

Service Name: OBEX Message Access Server
Service RecHandle: 0x10007
Service Class ID List:
  "" (0x1132)
Protocol Descriptor List:
  "L2CAP" (0x0100)
  "RFCOMM" (0x0003)
    Channel: 21
  "OBEX" (0x0008)
Profile Descriptor List:
  "" (0x1134)
    Version: 0x0100

Service Name: Network service
Service Description: Network service
Service RecHandle: 0x10008
Service Class ID List:
  "Network Access Point" (0x1116)
Protocol Descriptor List:
  "L2CAP" (0x0100)
    PSM: 15
  "BNEP" (0x000f)
    Version: 0x0100
    SEQ16: 800 806
Language Base Attr List:
  code_ISO639: 0x656e
  encoding:    0x6a
  base_offset: 0x100
Profile Descriptor List:
  "Network Access Point" (0x1116)
    Version: 0x0100

Service Name: OBEX File Transfer
Service RecHandle: 0x1000a
Service Class ID List:
  UUID 128: 00001106-0000-1000-8000-00805f9b34fb
Protocol Descriptor List:
  "L2CAP" (0x0100)
  "RFCOMM" (0x0003)
    Channel: 16
  "OBEX" (0x0008)
Pay special attention to the channel, rfcomm.
add
Code:
rfcomm0 {
	# Automatically bind the device at startup
 	bind yes;

	# Bluetooth address of the device
	device 50:56:63:A6:5E:06;

	# RFCOMM channel for the connection
	channel	16;

 	# Description of the connection
	comment "OBEX File Transfer";
}
to your /etc/bluetooth/rfcomm.conf and restart your bluetooth service.
now rfcomm should give an output similar to this:
Code:
server://home/ted
root:# rfcomm
rfcomm0: 50:56:63:A6:5E:06 channel 16 clean
if not, then this must have worked:
Code:
root:# rfcomm bind hci0 50:56:63:A6:5E:06 16 clean
Then rfcomm again.
Try restarting bluetooth service again.
Now use obexftp to access the device directories:
Code:
root:# obexftp -b 50:56:63:A6:5E:06 -l /
Browsing 50:56:63:A6:5E:06 ...
Connecting..\done
Tried to connect for 43ms
Receiving "/"... Sending ""...|done                                                                                                                                             /<?xml version="1.0"?><!DOCTYPE folder-listing SYSTEM"obex-folder-listing.dtd"><folder-listing version="1.0"><parent-folder/><folder name="gift"/><folder name="DCIM"/><folder name="Music"/><folder name=".data"/><folder name="LOST.DIR"/><folder name=".android_secure"/><folder name="My Documents"/><folder name="Android"/><folder name="XMS"/><folder name="Notifications"/><folder name="Podcasts"/><folder name="Ringtones"/><folder name="Alarms"/><folder name="Pictures"/><folder name="Movies"/><folder name="Download"/><folder name="media"/><folder name=".showme"/><folder name=".estrongs"/><folder name="downloads"/><folder name="soundhound"/><folder name=".clipboard"/><folder name=".polarisOffice"/><folder name="kkbox"/><folder name="WhatsApp"/><folder name="backups"/><folder name=".android_"/><folder name="KKBOX_Music_Store"/><folder name="tencent"/></folder-listing>done
Disconnecting..-done
Ted
Posted in Uncategorized
Views 10767 Comments 1
« Prev     Main     Next »
Total Comments 1

Comments

  1. Old Comment
    if you lack "OBEX File Transfer" or something like "OBEX FTP", ANND you are using an android fone, you could try downloading bluetooth file transfer by searching for "OBEX" in googleplay. And the service appears as:
    Code:
    Service Name: OBEX FTP
    Service RecHandle: 0x10007
    Service Class ID List:
      UUID 128: 00001106-0000-1000-8000-00805f9b34fb
    Protocol Descriptor List:
      "L2CAP" (0x0100)
      "RFCOMM" (0x0003)
        Channel: 30
    Posted 03-03-2013 at 08:33 AM by ted_chou12 ted_chou12 is offline
 

  



All times are GMT -5. The time now is 11:57 PM.

Main Menu
Advertisement
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration