Gwconnect information

osso-gwconnect - BT Connectivity applications

This package contains D-BUS applications for Bluetooth connectivity:

  • Bluetooth Connection Daemon (btcond)
  • Bluetooth SDP (btsdp)
  • Bluetooth Search (btsearch)

When using the interfaces from a C-program it is recomended that you use the definitions in bt-dbus.h (installed with osso-gwconnect-dev package).

Bluetooth Connection Daemon

This daemon is responsible for controlling connections to Bluetooth devices as well as messaging related information through the system D-BUS. The daemon listens for messages asigned to it on the system D-BUS as well as broadcasts status signals to the system D-BUS.

btcond D-BUS API

Service:
com.nokia.btcond
Interfaces:
com.nokia.btcond.request
com.nokia.btcond.signal
Object paths:
/com/nokia/btcond/request
/com/nokia/btcond/signal
Method calls accepted on com.nokia.btcond.request interface:
Name: connection_status
Parameters:
1. string		BDA of remote device
Return parameters:
1. string		BDA of remote device
2. string
"connected"	Device is connected
"disconnected"	Device is not connected
Errors: None
Description:
Query device connection status
Name: disconnect
Parameters:
1. string		BDA of device to disconnect
Return parameters: None
Errors: None
Description:
Force disconnection from device
Name: get_dev_capability
Parameters:
1. string 		BDA of device to query
Errors:
"com.nokia.btcond.error.bt_disabled"
Bluetooth is disabled (flight mode)
"com.nokia.btcond.error.no_dev_info"
No info about device
Return parameters:
1. list<string> (list of SDP profiles, e.g. "DUN")
Description:
Query device capabilities (ie. supported SDP profiles)
Name: rfcomm_connect
Parameters:
1. string		BDA of device to connect to
2. string		SDP profile, e.g. "DUN"
3. boolean		Automatic disconnect
Return parameters
1. string (device name, e.g. "/dev/rfcomm0")
Errors:
"com.nokia.btcond.error.invalid_dev"
Invalid BDA
"com.nokia.btcond.error.invalid_svc"
No such profile on device
"com.nokia.btcond.error.connect_failed"
Connection to device failed
"com.nokia.btcond.error.connected"
Already connected to specified service
"com.nokia.btcond.error.cancelled"
Connection creation was interrupted using the
rfcomm_cancel_connect method call
Description:
Connect to a specific RFCOMM service on a device. If the automatic
disconnect parameter is true btcond will listen for when the
caller disconnects from D-BUS and automatically disconnects the RFCOMM
service.
Name: rfcomm_disconnect
Parameters:
1. string (optional)	BDA of device to disconnect
2. string		Service (e.g. "DUN") or device node [1]
Return parameters: none
Errors:
"com.nokia.btcond.error.invalid_dev"
Invalid BDA
"com.nokia.btcond.error.not_connected"
Specified service is not connected
Description:
Disconnect a connected RFCOMM service
[1] If only one parameter is given to this method call
that parameter may also be the device node ("/dev/rfcommN")
of the connected service.
Name: rfcomm_cancel_connect
Parameters:
1. string  		BDA of remote device
2. string		Service (e.g. "DUN")
Return parameters: none
Errors:
"com.nokia.btcond.error.invalid_dev"
Invalid BDA
"com.nokia.btcond.error.invalid_svc"
Invalid service
"com.nokia.btcond.error.failed"
No connection creation in progress
Description:
Call this method to stop connection creation (e.g. if user
selects "cancel" or if you time out while waiting for a
reply from rfcomm_connect).
Name: rfcomm_bind
Parameters:
1. string		BDA of remote device
2. string		SDP profile, e.g. "DUN"
Return parameters
1. string (device name, e.g. "/dev/rfcomm0")
Errors:
"com.nokia.btcond.error.invalid_dev"
No such device selected
"com.nokia.btcond.error.invalid_svc"
No such profile on device
"com.nokia.btcond.error.internal"
Internal btcond error
Description:
Bind a device node to a service on a remote BT device.
Name: rfcomm_release
Parameters:
1. string (optional)	BDA of remote device
2. string		Service (e.g. "DUN") or device node [1]
Return parameters: none
Errors:
"com.nokia.btcond.error.invalid_dev"
No such device selected
"com.nokia.btcond.error.not_connected"
Specified service is not connected
Description:
Release a bound device node
[1] If only one parameter is given to this method call
that parameter may also be the device node ("/dev/rfcommN")
of the connected service.
Signals emited to system D-BUS:
Name: connection_status
Parameters:
1. string		BT address
2. string		"connected" or "disconnected"
Description:
Sent everytime BT connection status changes
Name: rfcomm_status
Parameters:
1. string		BT address
2. string		Service (e.g. "DUN")
3. status		"connected" or "disconnected"
Errors: None
Description:
Sent when RFCOMM connection status changes
Name: connect_failed
Parameters:
1. string		BT address
2. byte			Status
Description:
Sent everytime BT connection creation fails
Name: auth_failed
Parameters:
1. string		BT address
2. byte			Status
Description:
Sent everytime a HCI authentication complete event with non-zero status
is received.
Name: pin_req
Parameters:
1. string 	BT address
Description:
Sent everytime a pin is requested for a device
Name: link_key_ok
Parameters:
1. string 	BT address
Description:
Sent when a link key has been successfully negotiated (i.e.
authentication succeeded) with a remote device.
Name: hci_dev_down
Parameters:
1. string	HCI device (e.g. "hci0")
Description:
Sent when a hci device is set to DOWN state
Name: hci_dev_up
Parameters:
1. string	HCI device (e.g. "hci0")
Description:
Sent when a hci device is set to UP state

Bluetooth SDP

This application provides a BT SDP service over D-BUS.

D-BUS API:

Service:
com.nokia.btsdp
Interfaces:
com.nokia.btsdp.request
Object paths:
/com/nokia/btsdp/request
Method calls received on com.nokia.btsdp.request interface:
Name: get_rfcomm_services
Parameters:
1. string	BDA (e.g. "AB:CD:EF:98:76:65")
2. uint32	clock offset (cast from uint16_t)
3. string or uint32 (optional)
...
Return parameters:
1. string	service (e.g. "DUN")
2. byte		RFCOMM channel
3. string	service
4. byte		RFCOM channel
5. etc.
Errors:
"com.nokia.btsdp.error.connect_failed"
Unable to connect to BDA
"com.nokia.btsdp.error.bt_disabled"
BT is not enabled (flight mode)
"org.freedesktop.DBus.Error.InvalidArgs"
Invalid arguments were given.
Description:
Get list of RFCOMM services of specified BDA. Detected service
strings are:
"DUN"  (Dialup Networking Profile)
"FTP"  (OBEX File Transfer Profile)
"NFTP" (Nokia OBEX Filetransfer Profile)
"OPP"  (OBEX Object Push Profile)
"SAP"  (SIM Access Profile)
"SPP"  (Serial Port Profile)
If two parameters are given then all services will be browsed. Any
parameters after the second one can be either uint32 or string. A
string is intepreted as one from the list above (e.g. "DUN"). A uint32
is interpreted as a 16 bit UUID (e.g. 0x0100 for L2CAP). If more than
two arguments are given then only the listed services are searched for.

BT Search

This application is the backend to the Bluetooth Inquiry (device search) UI. The UI sends a "start_search" message to this backend and the backend comences a Bluetooth inquiry. Everytime a new device is found the backend sends a "dev_found" signal to the UI. When inquiry is finished a "search_complete" signal is sent to the UI. If the BT Search backend doesn't get a "start_search" request within 5 seconds after startup it will automatically exit. This should work fine since the backend is desiged to be launched through D-BUS activation (i.e. D-BUS starts it when it gets a message destined for the "com.nokia.btsearch" service.

D-BUS API:

Service:
com.nokia.btsearch
Interfaces:
com.nokia.btsearch.request
com.nokia.btsearch.signal
Object paths:
/com/nokia/btsearch/request
/com/nokia/btsearch/signal
Method calls received on com.nokia.btsearch.request interface:
Name: start_search
Parameters: None
Return parameters: None
Errors:
"com.nokia.btsearch.error.bt_disabled"
BT is not enabled (flight mode)
"com.nokia.btsearch.error.search_in_progress"
A search is already in progress
Description:
Subscribe to receiving inquiry result list
Name: stop_search
Parameters: None
Return parameters: None
Errors:
"com.nokia.btsearch.error.no_search"
A search is not in progress
Description:
Stop an ongoing search.
Signals emitted from com.nokia.btsearch.signal interface:
Name: dev_found
Parameters:
1. string	BDA (e.g. "12:23:45:56:67:89")
2. string	Name (e.g. "Nokia 6600" or "<none>")
3. byte[3]	Class of device (as in BT Assigned Numbers)
4. byte		RSSI (0 if no BT 1.2 support)
5. uint32	Clock offset (cast from uint16_t)
Description:
Sent everytime a new device is found
Name: search_complete
Parameters: None
Description:
Sent when the inquiry is finnished. btsearch will exit after sending
this.


Improve this page