bluez for Debian
================

The /dev/rfcomm* serial devices entries are automatically created for using
RFCOMM with legacy applications -- see rfcomm(8).  Users must be in group
'dialout' to have privileges to use these devices.

You can edit /etc/bluetooth/rfcomm.conf to have some rfcomm devices bound
automatically at boot time.

If you wish to install PCMCIA card services support for your Bluetooth
devices you should install the bluez-pcmcia-support package.

Some USB dongles require firmware to make them work: bluez-firmware from the
"non-free" section provides the required firmware.


Mailing lists and documentation
-------------------------------
The old sourceforge lists have been discontinued, the new lists can be found at:

http://www.bluez.org/development/lists/

PIN (or passkey) management
---------------------------
Interaction with the local user can be required while BT connection is
being established (pairing process) and the PIN is not yet known or
needs to be changed.

To retrieve the passkey (or PIN) from the user a service program (agent)
running in user's interactive session needs to be prepared and listen
for requests of the bluez daemon when pairing begins.

Examples of such programs are kblueplugd (kdebluetooth package) and
bluetooth-applet (bluez-gnome or gnome-bluetooth packages). A minimal
command-line agent is also provided by bluez-simple-agent.

For example, you can execute bluetoothctl as follows.

$ bluetoothctl                       <-- Start bluetoothctl
[NEW] Controller XX:XX:XX:XX:XX:FE test [default]
[bluetooth]# scan on                 <-- Scan enable
Discovery started
[CHG] Controller XX:XX:XX:XX:XX:FE Discovering: yes
[NEW] Device XX:XX:XX:XX:XX:BF A device
[bluetooth]# pair XX:XX:XX:XX:XX:BF  <-- Pairing to XX:XX:XX:XX:XX:BF
Attempting to pair with XX:XX:XX:XX:XX:BF
[CHG] Device XX:XX:XX:XX:XX:BF Connected: yes
[CHG] Device XX:XX:XX:XX:XX:BF Modalias: bluetooth:v000Fp1200d1436
[CHG] Device XX:XX:XX:XX:XX:BF UUIDs:
	00001105-0000-1000-8000-00805f9b34fb
	0000110a-0000-1000-8000-00805f9b34fb
	0000110c-0000-1000-8000-00805f9b34fb
	00001112-0000-1000-8000-00805f9b34fb
	00001115-0000-1000-8000-00805f9b34fb
	00001116-0000-1000-8000-00805f9b34fb
	0000111f-0000-1000-8000-00805f9b34fb
	0000112f-0000-1000-8000-00805f9b34fb
	00001200-0000-1000-8000-00805f9b34fb
[CHG] Device XX:XX:XX:XX:XX:BF Paired: yes
Pairing successful
[CHG] Device XX:XX:XX:XX:XX:BF Connected: no

Sound support
++++++++++++++++++++++++++++++++++++

Need update.


Keyboard and mouse support
++++++++++++++++++++++++++++++++++++
Here explain how to configure the keyboard and mouse using bluetoothctl.

1. Start bluetoothctl.

  Please run the bluetoothctl. When you run, the shell of bluetoothctl starts.

  $ bluetoothctl
  [NEW] Controller XX:XX:XX:XX:XX:FE test [default]
  [bluetooth]#

2. Enable scan.

  Run the "scan on", and enable the scan mode.
  Once enabled, HCI can search for the Bluetooth devices.
  In the following, HCI find the XX:XX:XX:XX:XX:AA as a mouse (BT-MS01).
  
  [bluetooth]# scan on
  Discovery started
  [CHG] Controller XX:XX:XX:XX:XX:FE Discovering: yes
  [NEW] Device XX:XX:XX:XX:XX:AA BT-MS01
  [bluetooth]#

3. Pairing to device

  Specify the MAC address of the device you want to pair to 'pair' command.

  [bluetooth]# pair XX:XX:XX:XX:XX:AA
  Attempting to pair with XX:XX:XX:XX:XX:AA
  [CHG] Device XX:XX:XX:XX:XX:AA Connected: yes
  [bluetooth]#

4. Set trust to device

  Specify the MAC address of the device you want to trust to 'trust' command.

  [bluetooth]# trust XX:XX:XX:XX:XX:AA
  [CHG] Device XX:XX:XX:XX:XX:AA Trusted: yes
  Changing XX:XX:XX:XX:XX:AA trust succeeded
  [bluetooth]#

5. Connect to device


  Specify the MAC address of the device you want to connect to 'connect' command.

  [bluetooth]# connect XX:XX:XX:XX:XX:AA
  [CHG] Device 00:1B:DC:32:E2:19 Connected: yes
  [CHG] Device 00:1B:DC:32:E2:19 Modalias: usb:v0111p0202d001E
  [CHG] Device 00:1B:DC:32:E2:19 Modalias: usb:v0111p0202d001E
  [CHG] Device 00:1B:DC:32:E2:19 UUIDs has unsupported type
  Connection successful

6. Show status of device

  You can check the state of device, use the info command.

  [bluetooth]# info XX:XX:XX:XX:XX:AA
  Device XX:XX:XX:XX:XX:AA
    Name: BT-MS01
    Alias: BT-MS01
    Class: 0x002580
    Icon: input-mouse
    Paired: yes
    Trusted: yes
    Blocked: no
    Connected: yes
    LegacyPairing: no
    UUID: Human Interface Device... (00001124-0000-1000-8000-00805f9b34fb)
    UUID: PnP Information (00001200-0000-1000-8000-00805f9b34fb)
    Modalias: usb:v0111p0202d001E

