bluetoothctl-hci(1)

Name
bluetoothctl-hci - HCI Submenu

SYNOPSIS

bluetoothctl [--options] [hci.commands]

Note:
        This submenu communicates directly with the Bluetooth controller via HCI socket, bypassing the BlueZ D-Bus API. Commands use the Host Controller Interface (HCI) protocol.

Commands

  open

Open HCI channel.

    Usage
        > open <index> <chan=raw,user>

    index
        HCI controller index number (e.g., 0, 1, 2)

    chan
        Channel type (raw or user)

    Example Open user channel (controller needs to be powered off first)
        > power off
        > hci.open 0 user
        HCI index 0 user channel opened

    Example Open user channel for HCI controller 0
        > hci.open 0 user

    Example Open user channel for HCI controller 1
        > hci.open 1 user

    Example Open user channel for HCI controller 2
        > hci.open 2 user

    Example Open raw channel for HCI controller 0
        > hci.open 0 raw

    Example Open raw channel for HCI controller 1
        > hci.open 1 raw

  cmd

Send HCI command.

    Usage
        > cmd <opcode> [parameters...]

    opcode
        HCI command opcode in hexadecimal format (e.g., 0x0c03)

    parameters
        Optional command parameters as hexadecimal bytes

    Example Send HCI Reset command
        > hci.cmd 0x0c03
        HCI Command complete:
        00

    Example Send HCI Reset command (no parameters)
        > hci.cmd 0x0c03

    Example Send HCI Read Local Version Information
        > hci.cmd 0x1003

    Example Send HCI Read BD Address
        > hci.cmd 0x1009

    Example Send HCI Set Event Filter with parameter 0x01
        > hci.cmd 0x0c01 0x01

    Example Send LE Set Advertising Parameters with 2 parameters
        > hci.cmd 0x200f 0x00 0x08

    Example Send LE Set Advertising Data with length and data bytes
        > hci.cmd 0x2008 0x20 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08

    Example Send HCI Set Event Mask command
        > hci.cmd 0x0c05 0x02

    Example Send HCI Write Scan Enable
        > hci.cmd 0x0c2a 0x01

    Example Send HCI Write Class of Device
        > hci.cmd 0x0c23 0x00 0x08

  send

Send HCI data packet.

    Usage
        > send <type=acl,sco,iso> <handle> [data...]

    type
        Packet type (acl, sco, or iso)

    handle
        Connection handle in hexadecimal format (e.g., 0x0000)

    data
        Optional data bytes in hexadecimal format

    Example Send ACL data packet to connection handle 0x0000
        > hci.send acl 0x0000

    Example Send empty ACL packet to handle 0x0000
        > hci.send acl 0x0000

    Example Send ACL packet with "Hello" data to handle 0x0001
        > hci.send acl 0x0001 0x48 0x65 0x6c 0x6c 0x6f

    Example Send ACL packet with custom data to handle 0x0010
        > hci.send acl 0x0010 0x01 0x02 0x03 0x04

    Example Send empty SCO packet to handle 0x0000
        > hci.send sco 0x0000

    Example Send SCO packet with audio data
        > hci.send sco 0x0001 0xaa 0xbb 0xcc

    Example Send SCO packet with sine wave pattern
        > hci.send sco 0x0002 0x80 0x00 0x80 0x00

    Example Send empty ISO packet to handle 0x0000
        > hci.send iso 0x0000

    Example Send ISO packet with sample data
        > hci.send iso 0x0001 0x12 0x34 0x56 0x78

    Example Send ISO packet for LE Audio stream
        > hci.send iso 0x0020 0xa0 0xa1 0xa2 0xa3

  register

Register HCI event handler.

    Usage
        > register <event>

    event
        HCI event code in hexadecimal format (e.g., 0x0e)

    Example Register handler for Command Complete event
        > register 0x0e

    Example Register handler for Command Status event
        > register 0x0f

    Example Register handler for Connection Complete event
        > register 0x03

    Example Register handler for Disconnection Complete event
        > register 0x05

    Example Register handler for LE Meta events
        > register 0x3e

    Example Register handler for Inquiry Complete event
        > register 0x02

    Example Register handler for Role Change event
        > register 0x22

  unregister

Unregister HCI event handler.

    Usage
        > unregister <event>

    event
        HCI event code in hexadecimal format (e.g., 0x0e)

    Example Unregister Command Complete event handler
        > unregister 0x0e

    Example Unregister Command Status event handler
        > unregister 0x0f

    Example Unregister Connection Complete event handler
        > unregister 0x03

    Example Unregister Disconnection Complete event handler
        > unregister 0x05

    Example Unregister LE Meta event handler
        > unregister 0x3e

  close

Close HCI channel.

Closes the currently open HCI channel.

    Usage
        > close

    Example Close the current HCI channel
        > close

RESOURCES

<http://www.bluez.org>

REPORTING BUGS

<linux-bluetooth@vger.kernel.org>

Copyright
Free use of this software is granted under the terms of the GNU Lesser General Public Licenses (LGPL).