BTSCO(4)                NetBSD Kernel Interfaces Manual               BTSCO(4)

NAME
     btsco -- Bluetooth SCO Audio

SYNOPSIS
     btsco*    at bthub?
     audio*    at audiobus?

DESCRIPTION
     The btsco driver provides support for Bluetooth SCO Audio devices through
     the audio(4) driver.

     The btsco driver must be configured at run time with the btdevctl(8) pro-
     gram.  The following properties are used by the btsco driver during auto-
     configuration:

     local-bdaddr
               Local device address.

     remote-bdaddr
               Remote device address.

     service-name
               The btsco driver matches the `HF' and `HSET' services.  For the
               `HF' service, the btsco device will, on open(2), listen for
               incoming connections 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 below:

     SCO connections require a baseband connection between the two devices
     before they can be created.  The btsco driver 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)

     The btsco driver can be configured to act in Connect or Listen mode.  In
     Connect mode, the btsco driver will initate 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
     bthset(1), ioctl(2), audio(4), bluetooth(4), bthub(4), btdevctl(8)

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 this must be 0x0060 (the default) as alternate values are
     currently unsupported.

NetBSD 5.0_STABLE               October 4, 2006              NetBSD 5.0_STABLE
