btctl -- Affix control utility


btctl [-i iface] [--nosdp] [interface] [command] [parameters..]


btctl is the control program to configure kernel-resident Bluetooth interfaces.

If no arguments are given, btctl displays the status of currently active interfaces.

Device cache

btctl has a device cache. At inquiry or discovery procedure all found devices are added to the device cache. A number is assigned to each entry (according to the order in the cache), which can be used instead of Bluetooth address. btctl searches for the Bluetooth address in the device cache. The content of the cache is shown by "btctl list" command.

The Device cache is also used by btsrv to store link keys.


btctl commands can be divided in several groups:

General commands

General commands group includes commands:

Security commands

Security commands control

HCI commands

HCI commands are used to manage Bluetooth device.

UART commands

UART commands are used to attach and detach HCI interface to Bluetooth device connected to the host via serial cable or device which use legacy UART interface to communicate with it (in fact mostly it is handled by affix_uart_cs.o).

RFCOMM commands

RFCOMM commands are used to create, check and destroy RFCOMM connections and bind it to virtual TTY lines /dev/btyXX.

SDP commands

SDP commands are used to browse services available on the device.

OBEX commands

OBEX commands are used for transferring files and objects to/from devices.

PAN commands

PAN commands are used to initialize and configure PAN interfaces.


Following examples explains commands usage.

  1. btctl bt1 up

    Brings interface bt1 up

  2. btctl b0 down

    Brings bt0 down