BTSCO(4)                  OpenBSD Programmer's Manual                 BTSCO(4)

NAME
     btsco - Bluetooth SCO Audio

SYNOPSIS
     btsco*    at bthub?
     audio*    at audiobus?

DESCRIPTION
     btsco provides support for Bluetooth SCO Audio devices through the
     audio(4) driver.  btsco is configured at run time with the btdevctl pro-
     gram.

     The following properties are used by btsco during autoconfiguration:

     local-bdaddr
             Local device address.

     remote-bdaddr
             Remote device address.

     service-name
             btsco matches the `HF' and `HSET' services.  For the `HF' ser-
             vice, the btsco device will, on open(2), listen for incoming con-
             nections from the remote device.  Otherwise, btsco will attempt
             to initiate a connection to the remote device.

     rfcomm-channel
             This integer value is not used directly, but will be stored and
             passed via the BTSCO_INFO ioctl as shown below.

     SCO connections require a baseband connection between the two devices be-
     fore they can be created.  btsco does not create this, but can provide
     information to facilitate an application setting up a control channel
     prior to use, via the BTSCO_INFO ioctl(2) call on the mixer device, which
     returns a btsco_info structure as follows:

     #include <dev/bluetooth/btsco.h>

     struct btsco_info {
             bdaddr_t        laddr;          /* controller bdaddr */
             bdaddr_t        raddr;          /* headset bdaddr */
             uint8_t         channel;        /* RFCOMM channel */
             int             vgs;            /* mixer index speaker */
             int             vgm;            /* mixer index mic */
     };

     #define BTSCO_INFO      _IOR('b', 16, struct btsco_info)

     btsco can be configured to act in Connect or Listen mode.  In Connect
     mode, it will initiate a connection to the remote device on an open(2)
     call, whereas in Listen mode open(2) will block until the remote device
     initiates the connection.

SEE ALSO
     ioctl(2), audio(4), bluetooth(4)

HISTORY
     The btsco driver was written for NetBSD 4.0 by Iain Hibbert under the
     sponsorship of Itronix, Inc.

BUGS
     btsco takes no notice of the HCI Voice Setting in the Bluetooth con-
     troller, and must be 0x0060 (the default) as alternate values are cur-
     rently unsupported.

OpenBSD 4.7                    November 25, 2008                             1
