---
name: "hccontrol"
section: "8"
platform: "freebsd"
package: "base"
version: "16.0-CURRENT-20261027-61c70dc16a79"
release: "FreeBSD 16.0-CURRENT (2026-10-27)"
platforms: ["freebsd"]
url: "https://new.carta.tech/hccontrol"
---

# hccontrol(8)

Bluetooth HCI configuration utility

## NAME

**hccontrol** – Bluetooth HCI configuration utility

## SYNOPSIS

**hccontrol** \[**-hN**\] \[**-n** *HCI\_node\_name*\] *command* \[*parameters* *...*\]

## DESCRIPTION

The **hccontrol** utility connects to the specified Netgraph node of type HCI or the first one found if none is specified and attempts to send the specified command to the HCI Netgraph node or to the associated Bluetooth device. The **hccontrol** utility will print results to the standard output and error messages to the standard error.

The options are as follows:

- **-h**

  Display usage message and exit.

- **-N**

  Show Bluetooth addresses as numbers. Normally **hccontrol** attempts to resolve Bluetooth addresses, and display them symbolically.

- **-n** *HCI\_node\_name*

  Connect to the specified HCI Netgraph node.

- *command*

  One of the supported commands (see below). The special command **help** can be used to obtain the list of all supported commands. To get more information about a specific command use **help** *command*.

- *parameters*

  One or more optional space separated command parameters. Many commands require a remote device address as one of the parameters. The remote device address can be specified as BD\_ADDR or a name. If a name was specified then the **hccontrol** utility will attempt to resolve the name via [bt\_gethostbyname(3)](/bt_gethostbyname/3.md).

## COMMANDS

The currently supported HCI commands in **hccontrol** are:

- **Inquiry**

  - **Create\_Connection**

  - **Disconnect**

  - **Add\_SCO\_Connection**

  - **Change\_Connection\_Packet\_Type**

  - **Remote\_Name\_Request**

  - **Read\_Remote\_Supported\_Features**

  - **Read\_Remote\_Version\_Information**

  - **Read\_Clock\_Offset**

  - **Role\_Discovery**

  - **Switch\_Role**

  - **Read\_Link\_Policy\_Settings**

  - **Write\_Link\_Policy\_Settings**

  - **Reset**

  - **Read\_Pin\_Type**

  - **Write\_Pin\_Type**

  - **Read\_Stored\_Link\_Key**

  - **Write\_Stored\_Link\_Key**

  - **Delete\_Stored\_Link\_Key**

  - **Change\_Local\_Name**

  - **Read\_Local\_Name**

  - **Read\_Connection\_Accept\_Timeout**

  - **Write\_Connection\_Accept\_Timeout**

  - **Read\_Page\_Timeout**

  - **Write\_Page\_Timeout**

  - **Read\_Scan\_Enable**

  - **Write\_Scan\_Enable**

  - **Read\_Page\_Scan\_Activity**

  - **Write\_Page\_Scan\_Activity**

  - **Read\_Inquiry\_Scan\_Activity**

  - **Write\_Inquiry\_Scan\_Activity**

  - **Read\_Authentication\_Enable**

  - **Write\_Authentication\_Enable**

  - **Read\_Encryption\_Mode**

  - **Write\_Encryption\_Mode**

  - **Read\_Class\_Of\_Device**

  - **Write\_Class\_Of\_Device**

  - **Read\_Voice\_Settings**

  - **Write\_Voice\_Settings**

  - **Read\_Number\_Broadcast\_Retransmissions**

  - **Write\_Number\_Broadcast\_Retransmissions**

  - **Read\_Hold\_Mode\_Activity**

  - **Write\_Hold\_Mode\_Activity**

  - **Read\_SCO\_Flow\_Control\_Enable**

  - **Write\_SCO\_Flow\_Control\_Enable**

  - **Read\_Link\_Supervision\_Timeout**

  - **Write\_Link\_Supervision\_Timeout**

  - **Read\_Page\_Scan\_Period\_Mode**

  - **Write\_Page\_Scan\_Period\_Mode**

  - **Read\_Page\_Scan\_Mode**

  - **Write\_Page\_Scan\_Mode**

  - **Read\_LE\_Host\_Support**

  - **Write\_LE\_Host\_Support**

  - **Read\_Local\_Version\_Information**

  - **Read\_Local\_Supported\_Commands**

  - **Read\_Local\_Supported\_Features**

  - **Read\_Buffer\_Size**

  - **Read\_Country\_Code**

  - **Read\_BD\_ADDR**

  - **Read\_Failed\_Contact\_Counter**

  - **Reset\_Failed\_Contact\_Counter**

  - **Get\_Link\_Quality**

  - **Read\_RSSI**

  - **LE\_Enable**

  - **LE\_Read\_Local\_Supported\_Features**

  - **LE\_Set\_Advertising\_Parameters**

  - **LE\_Read\_Advertising\_Physical\_Channel\_Tx\_Power**

  - **LE\_Set\_Advertising\_Data**

  - **LE\_Set\_Scan\_Response\_Data**

  - **LE\_Set\_Advertising\_Enable**

  - **LE\_Set\_Scan\_Parameters**

  - **LE\_Set\_Scan\_Enable**

  - **LE\_Read\_Supported\_States**

  - **LE\_Read\_Buffer\_Size**

  - **LE\_Scan**

  - **LE\_Read\_White\_List\_Size**

  - **LE\_Clear\_White\_List**

  - **LE\_Add\_Device\_To\_White\_List**

  - **LE\_Remove\_Device\_From\_White\_List**

  - **LE\_Connect**

  - **LE\_Read\_Channel\_Map**

  - **LE\_Read\_Remote\_Features**

  - **LE\_Rand**

  The currently supported node commands in **hccontrol** are:

- **Read\_Node\_State**

  - **Initialize**

  - **Read\_Debug\_Level**

  - **Write\_Debug\_Level**

  - **Read\_Node\_Buffer\_Size**

  - **Read\_Node\_BD\_ADDR**

  - **Read\_Node\_Features**

  - **Read\_Node\_Stat**

  - **Reset\_Node\_Stat**

  - **Flush\_Neighbor\_Cache**

  - **Read\_Neighbor\_Cache**

  - **Read\_Connection\_List**

  - **Read\_Node\_Link\_Policy\_Settings\_Mask**

  - **Write\_Node\_Link\_Policy\_Settings\_Mask**

  - **Read\_Node\_Packet\_Mask**

  - **Write\_Node\_Packet\_Mask**

  - **Read\_Node\_Role\_Switch**

  - **Write\_Node\_Role\_Switch**

  - **Read\_Node\_List**

  ## EXIT STATUS

The **hccontrol** utility exits 0 on success, and \>0 if an error occurs.

## EXAMPLES

Make the blutooth LE host, ubt0hci, scannable through [hccontrol(8)](/hccontrol/8.md) commands:

```
hccontrol -n ubt0hci le_set_advertising_enable disable
hccontrol -n ubt0hci le_set_advertising_param
hccontrol -n ubt0hci le_read_advertising_channel_tx_power
hccontrol -n ubt0hci le_set_advertising_data
hccontrol -n ubt0hci le_set_scan_response -n FBSD_Host
hccontrol -n ubt0hci le_set_advertising_enable enable
```

## SEE ALSO

[bluetooth(3)](/bluetooth/3.md), [netgraph(3)](/netgraph/3.md), [netgraph(4)](/netgraph/4.md), [ng\_hci(4)](/ng_hci/4.md)

## AUTHORS

Maksim Yevmenkin ⟨*m\_evmenkin@yahoo.com*⟩

## BUGS

Most likely. Please report if found.
