bluetoothctl-mgmt(1) Linux System Administration bluetoothctl-mgmt(1)

# [Name](#Name)

bluetoothctl-mgmt - Management Submenu

# [SYNOPSIS](#SYNOPSIS)

**bluetoothctl** \[--options] \[mgmt.commands]

**Note:**

This submenu communicates directly with the kernel via the Bluetooth Management socket (mgmt), bypassing the BlueZ D-Bus API. Commands use the Bluetooth Management API defined in the kernel documentation.

# [Mgmt Commands](#Mgmt_Commands)

## [select](#select)

Select a different index

[**Usage**](#Usage)

**&gt; select &lt;index&gt;**

**&lt;index&gt;**

Controller index number (0-based) to select

[**Example Select controller index 0 (hci0)**](#Example)

```
> select 0
```

[**Example Select controller index 1 (hci1)**](#Example~2)

```
> select 1
```

[**Example Select controller index 2 (hci2)**](#Example~3)

```
> select 2
```

## [revision](#revision)

Get the MGMT Revision

[**Usage**](#Usage~2)

**&gt; revision**

[**Example Display MGMT API revision information**](#Example~4)

```
> revision
```

## [commands](#commands)

List supported commands

[**Usage**](#Usage~3)

**&gt; commands**

[**Example List all supported management commands**](#Example~5)

```
> commands
```

## [config](#config)

Show configuration info

[**Usage**](#Usage~4)

**&gt; config**

[**Example Show current controller configuration**](#Example~6)

```
> config
```

## [info](#info)

Show controller info

[**Usage**](#Usage~5)

**&gt; info**

[**Example Show detailed controller information**](#Example~7)

```
> info
```

## [extinfo](#extinfo)

Show extended controller info

[**Usage**](#Usage~6)

**&gt; extinfo**

[**Example Show extended controller information**](#Example~8)

```
> extinfo
```

## [auto-power](#auto)

Power all available features

[**Usage**](#Usage~7)

**&gt; auto-power**

[**Example Automatically power on all available controller features**](#Example~9)

```
> auto-power
```

## [power](#power)

Toggle powered state

[**Usage**](#Usage~8)

**&gt; power &lt;on/off&gt;**

**&lt;on/off&gt;**

Power state - "on" to enable controller, "off" to disable

[**Example Power on the controller**](#Example~10)

```
> power on
```

[**Example Power off the controller**](#Example~11)

```
> power off
```

## [discov](#discov)

Toggle discoverable state

[**Usage**](#Usage~9)

**&gt; discov &lt;yes/no/limited&gt; \[timeout]**

**&lt;yes/no/limited&gt;**

Discoverable mode - "yes" for general, "no" to disable, "limited" for limited discoverable

**\[timeout]**

Optional timeout in seconds for discoverable mode duration

[**Example Make controller discoverable indefinitely**](#Example~12)

```
> discov yes
```

[**Example Make controller non-discoverable**](#Example~13)

```
> discov no
```

[**Example Enable limited discoverable mode**](#Example~14)

```
> discov limited
```

[**Example Make discoverable for 30 seconds**](#Example~15)

```
> discov yes 30
```

[**Example Make discoverable for 2 minutes**](#Example~16)

```
> discov yes 120
```

[**Example Make discoverable for 5 minutes**](#Example~17)

```
> discov yes 300
```

[**Example Limited discoverable for 60 seconds**](#Example~18)

```
> discov limited 60
```

## [connectable](#connectable)

Toggle connectable state

[**Usage**](#Usage~10)

**&gt; connectable &lt;on/off&gt;**

**&lt;on/off&gt;**

Connectable state - "on" to allow connections, "off" to reject

[**Example Make controller connectable**](#Example~19)

```
> connectable on
```

[**Example Make controller non-connectable**](#Example~20)

```
> connectable off
```

## [fast-conn](#fast)

Toggle fast connectable state

[**Usage**](#Usage~11)

**&gt; fast-conn &lt;on/off&gt;**

**&lt;on/off&gt;**

Fast connectable state - "on" to enable fast connection mode, "off" to disable

[**Example Enable fast connectable mode**](#Example~21)

```
> fast-conn on
```

[**Example Disable fast connectable mode**](#Example~22)

```
> fast-conn off
```

## [bondable](#bondable)

Toggle bondable state

[**Usage**](#Usage~12)

**&gt; bondable &lt;on/off&gt;**

**&lt;on/off&gt;**

Bondable state - "on" to enable bonding capability, "off" to disable

[**Example Enable bonding capability**](#Example~23)

```
> bondable on
```

[**Example Disable bonding capability**](#Example~24)

```
> bondable off
```

## [pairable](#pairable)

Toggle bondable state

[**Usage**](#Usage~13)

**&gt; pairable &lt;on/off&gt;**

**&lt;on/off&gt;**

Pairable state - "on" to enable pairing capability, "off" to disable

[**Example Enable pairing capability**](#Example~25)

```
> pairable on
```

[**Example Disable pairing capability**](#Example~26)

```
> pairable off
```

## [linksec](#linksec)

Toggle link level security

[**Usage**](#Usage~14)

**&gt; linksec &lt;on/off&gt;**

**&lt;on/off&gt;**

Link level security - "on" to enable, "off" to disable

[**Example Enable link level security**](#Example~27)

```
> linksec on
```

[**Example Disable link level security**](#Example~28)

```
> linksec off
```

## [ssp](#ssp)

Toggle SSP mode

[**Usage**](#Usage~15)

**&gt; ssp &lt;on/off&gt;**

**&lt;on/off&gt;**

Secure Simple Pairing mode - "on" to enable SSP, "off" to disable

[**Example Enable Secure Simple Pairing**](#Example~29)

```
> ssp on
```

[**Example Disable Secure Simple Pairing**](#Example~30)

```
> ssp off
```

## [sc](#sc)

Toggle SC support

[**Usage**](#Usage~16)

**&gt; sc &lt;on/off/only&gt;**

**&lt;on/off/only&gt;**

Secure Connections support - "on" to enable, "off" to disable, "only" for exclusive use

[**Example Enable Secure Connections support**](#Example~31)

```
> sc on
```

[**Example Disable Secure Connections support**](#Example~32)

```
> sc off
```

[**Example Use Secure Connections exclusively**](#Example~33)

```
> sc only
```

## [hs](#hs)

Toggle HS support

[**Usage**](#Usage~17)

**&gt; hs &lt;on/off&gt;**

**&lt;on/off&gt;**

High Speed support - "on" to enable 802.11 High Speed, "off" to disable

[**Example Enable High Speed support**](#Example~34)

```
> hs on
```

[**Example Disable High Speed support**](#Example~35)

```
> hs off
```

## [le](#le)

Toggle LE support

[**Usage**](#Usage~18)

**&gt; le &lt;on/off&gt;**

**&lt;on/off&gt;**

Low Energy support - "on" to enable LE functionality, "off" to disable

[**Example Enable Low Energy support**](#Example~36)

```
> le on
```

[**Example Disable Low Energy support**](#Example~37)

```
> le off
```

## [advertising](#advertising)

Toggle LE advertising

[**Usage**](#Usage~19)

**&gt; advertising &lt;on/off&gt;**

**&lt;on/off&gt;**

LE advertising state - "on" to enable advertising, "off" to disable

[**Example Enable LE advertising**](#Example~38)

```
> advertising on
```

[**Example Disable LE advertising**](#Example~39)

```
> advertising off
```

## [bredr](#bredr)

Toggle BR/EDR support

[**Usage**](#Usage~20)

**&gt; bredr &lt;on/off&gt;**

**&lt;on/off&gt;**

BR/EDR support - "on" to enable Classic Bluetooth, "off" to disable

[**Example Enable BR/EDR (Classic Bluetooth) support**](#Example~40)

```
> bredr on
```

[**Example Disable BR/EDR support**](#Example~41)

```
> bredr off
```

## [privacy](#privacy)

Toggle privacy support

[**Usage**](#Usage~21)

**&gt; privacy &lt;on/off&gt; \[irk]**

**&lt;on/off&gt;**

Privacy support - "on" to enable privacy features, "off" to disable

**\[irk]**

Optional 32-character hexadecimal Identity Resolving Key

[**Example Enable privacy with auto-generated IRK**](#Example~42)

```
> privacy on
```

[**Example Disable privacy**](#Example~43)

```
> privacy off
```

[**Example Enable privacy with specific IRK**](#Example~44)

```
> privacy on 0123456789abcdef0123456789abcdef
```

[**Example Enable privacy with different IRK**](#Example~45)

```
> privacy on 1234567890abcdef1234567890abcdef
```

## [class](#class)

Set device major/minor class

[**Usage**](#Usage~22)

**&gt; class &lt;major&gt; &lt;minor&gt;**

**&lt;major&gt;**

Major device class code (hexadecimal)

**&lt;minor&gt;**

Minor device class code (hexadecimal)

[**Example Set class to Audio/Video - Wearable Headset**](#Example~46)

```
> class 0x04 0x01
```

[**Example Set class to Audio/Video - Hands-free**](#Example~47)

```
> class 0x04 0x02
```

[**Example Set class to Audio/Video - Headphones**](#Example~48)

```
> class 0x04 0x06
```

[**Example Set class to Audio/Video - VCR**](#Example~49)

```
> class 0x04 0x0B
```

[**Example Set class to Computer - Desktop workstation**](#Example~50)

```
> class 0x01 0x01
```

[**Example Set class to Computer - Server**](#Example~51)

```
> class 0x01 0x02
```

[**Example Set class to Computer - Laptop**](#Example~52)

```
> class 0x01 0x03
```

[**Example Set class to Computer - Handheld PC/PDA**](#Example~53)

```
> class 0x01 0x04
```

[**Example Set class to Phone - Cellular**](#Example~54)

```
> class 0x02 0x01
```

[**Example Set class to Phone - Cordless**](#Example~55)

```
> class 0x02 0x02
```

[**Example Set class to Phone - Smart phone**](#Example~56)

```
> class 0x02 0x03
```

## [disconnect](#disconnect)

Disconnect device

[**Usage**](#Usage~23)

**&gt; disconnect \[-t type] &lt;remote address&gt;**

**\[-t type]**

Optional address type (public, random, le\_public, le\_random)

**&lt;remote address&gt;**

Bluetooth address of device to disconnect

[**Example Disconnect device using public address**](#Example~57)

```
> disconnect 00:11:22:33:44:55
```

[**Example Disconnect another device**](#Example~58)

```
> disconnect AA:BB:CC:DD:EE:FF
```

[**Example Disconnect device with public address type**](#Example~59)

```
> disconnect -t public 00:11:22:33:44:55
```

[**Example Disconnect device with random address type**](#Example~60)

```
> disconnect -t random AA:BB:CC:DD:EE:FF
```

[**Example Disconnect LE device with public address**](#Example~61)

```
> disconnect -t le_public 11:22:33:44:55:66
```

[**Example Disconnect LE device with random address**](#Example~62)

```
> disconnect -t le_random CC:DD:EE:FF:00:11
```

## [con](#con)

List connections

[**Usage**](#Usage~24)

**&gt; con**

[**Example List all active connections**](#Example~63)

```
> con
```

## [find](#find)

Discover nearby devices

[**Usage**](#Usage~25)

**&gt; find \[-l|-b] \[-L]**

**\[-l|-b]**

Discovery type - "-l" for LE only, "-b" for BR/EDR only (default: both)

**\[-L]**

Limited discovery mode flag

[**Example Discover both LE and BR/EDR devices**](#Example~64)

```
> find
```

[**Example Discover LE devices only**](#Example~65)

```
> find -l
```

[**Example Discover BR/EDR devices only**](#Example~66)

```
> find -b
```

[**Example Discover devices in limited mode**](#Example~67)

```
> find -L
```

[**Example Discover LE devices in limited mode**](#Example~68)

```
> find -l -L
```

[**Example Discover BR/EDR devices in limited mode**](#Example~69)

```
> find -b -L
```

## find-service

Discover nearby service

[**Usage**](#Usage~26)

**&gt; find-service \[-u UUID] \[-r RSSI\_Threshold] \[-l|-b]**

**\[-u UUID]**

Service UUID to search for (16-bit, 32-bit, or 128-bit)

**\[-r RSSI\_Threshold]**

Minimum RSSI value in dBm for device filtering

**\[-l|-b]**

Discovery type - "-l" for LE only, "-b" for BR/EDR only

[**Example Find devices with Generic Access service**](#Example~70)

```
> find-service -u 0x1800
```

[**Example Find devices with Battery Service**](#Example~71)

```
> find-service -u 0x180F
```

[**Example Find devices with custom service**](#Example~72)

```
> find-service -u 12345678-1234-5678-9abc-123456789abc
```

[**Example Find devices with RSSI ≥ -60 dBm**](#Example~73)

```
> find-service -r -60
```

[**Example Find devices with RSSI ≥ -80 dBm**](#Example~74)

```
> find-service -r -80
```

[**Example Find Battery Service devices with RSSI ≥ -70 dBm**](#Example~75)

```
> find-service -u 0x180F -r -70
```

[**Example Find Generic Access on LE devices with strong signal**](#Example~76)

```
> find-service -u 0x1800 -r -50 -l
```

[**Example Find Serial Port Profile on BR/EDR devices**](#Example~77)

```
> find-service -u 0x1101 -b
```

[**Example Find Battery Service on LE devices**](#Example~78)

```
> find-service -u 0x180F -l
```

## [stop-find](#stop)

Stop discovery

[**Usage**](#Usage~27)

**&gt; stop-find \[-l|-b]**

**\[-l|-b]**

Discovery type to stop - "-l" for LE only, "-b" for BR/EDR only (default: all)

[**Example Stop all discovery**](#Example~79)

```
> stop-find
```

[**Example Stop LE discovery only**](#Example~80)

```
> stop-find -l
```

[**Example Stop BR/EDR discovery only**](#Example~81)

```
> stop-find -b
```

## [name](#name)

Set local name

[**Usage**](#Usage~28)

**&gt; name &lt;name&gt; \[shortname]**

**&lt;name&gt;**

Complete local name for the controller

**\[shortname]**

Optional shortened local name

[**Example Set complete local name**](#Example~82)

```
> name "My Bluetooth Device"
```

[**Example Set name without spaces**](#Example~83)

```
> name MyComputer
```

[**Example Set name with hyphens**](#Example~84)

```
> name "Home-Office-PC"
```

[**Example Set both complete and shortened names**](#Example~85)

```
> name "My Long Device Name" MyDevice
```

[**Example Set descriptive and short names**](#Example~86)

```
> name "Professional Workstation" ProWork
```

[**Example Set audio device names**](#Example~87)

```
> name "Bluetooth Audio Headset" BT-Audio
```

## [pair](#pair)

Pair with a remote device

[**Usage**](#Usage~29)

**&gt; pair \[-c cap] \[-t type] &lt;remote address&gt;**

**\[-c cap]**

IO capability (DisplayOnly, DisplayYesNo, KeyboardOnly, NoInputNoOutput, KeyboardDisplay)

**\[-t type]**

Address type (public, random, le\_public, le\_random)

**&lt;remote address&gt;**

Bluetooth address of device to pair with

[**Example Pair with device using default settings**](#Example~88)

```
> pair 00:11:22:33:44:55
```

[**Example Pair with another device**](#Example~89)

```
> pair AA:BB:CC:DD:EE:FF
```

[**Example Pair with display-only IO capability**](#Example~90)

```
> pair -c DisplayOnly 00:11:22:33:44:55
```

[**Example Pair with display and yes/no capability**](#Example~91)

```
> pair -c DisplayYesNo AA:BB:CC:DD:EE:FF
```

[**Example Pair with keyboard-only capability**](#Example~92)

```
> pair -c KeyboardOnly 11:22:33:44:55:66
```

[**Example Pair with no I/O capability**](#Example~93)

```
> pair -c NoInputNoOutput CC:DD:EE:FF:00:11
```

[**Example Pair with keyboard and display capability**](#Example~94)

```
> pair -c KeyboardDisplay 22:33:44:55:66:77
```

[**Example Pair with public address device**](#Example~95)

```
> pair -t public 00:11:22:33:44:55
```

[**Example Pair with random address device**](#Example~96)

```
> pair -t random AA:BB:CC:DD:EE:FF
```

[**Example Pair with LE public address device**](#Example~97)

```
> pair -t le_public 11:22:33:44:55:66
```

[**Example Pair with LE random address device**](#Example~98)

```
> pair -t le_random CC:DD:EE:FF:00:11
```

[**Example Pair LE device with keyboard/display capability**](#Example~99)

```
> pair -c KeyboardDisplay -t le_public 00:11:22:33:44:55
```

[**Example Pair random address device with display/yes-no capability**](#Example~100)

```
> pair -c DisplayYesNo -t random AA:BB:CC:DD:EE:FF
```

## [cancelpair](#cancelpair)

Cancel pairing

[**Usage**](#Usage~30)

**&gt; cancelpair \[-t type] &lt;remote address&gt;**

**\[-t type]**

Address type (public, random, le\_public, le\_random)

**&lt;remote address&gt;**

Bluetooth address of device to cancel pairing with

[**Example Cancel ongoing pairing with device**](#Example~101)

```
> cancelpair 00:11:22:33:44:55
```

[**Example Cancel pairing with another device**](#Example~102)

```
> cancelpair AA:BB:CC:DD:EE:FF
```

[**Example Cancel pairing with public address device**](#Example~103)

```
> cancelpair -t public 00:11:22:33:44:55
```

[**Example Cancel pairing with LE random address device**](#Example~104)

```
> cancelpair -t le_random AA:BB:CC:DD:EE:FF
```

## [unpair](#unpair)

Unpair device

[**Usage**](#Usage~31)

**&gt; unpair \[-t type] &lt;remote address&gt;**

**\[-t type]**

Address type (public, random, le\_public, le\_random)

**&lt;remote address&gt;**

Bluetooth address of device to unpair

[**Example Remove pairing with device**](#Example~105)

```
> unpair 00:11:22:33:44:55
```

[**Example Remove pairing with another device**](#Example~106)

```
> unpair AA:BB:CC:DD:EE:FF
```

[**Example Unpair public address device**](#Example~107)

```
> unpair -t public 00:11:22:33:44:55
```

[**Example Unpair LE public address device**](#Example~108)

```
> unpair -t le_public 11:22:33:44:55:66
```

[**Example Unpair LE random address device**](#Example~109)

```
> unpair -t le_random CC:DD:EE:FF:00:11
```

## [keys](#keys)

Load Link Keys

[**Usage**](#Usage~32)

**&gt; keys**

[**Example Load stored link keys**](#Example~110)

```
> keys
```

## [ltks](#ltks)

Load Long Term Keys

[**Usage**](#Usage~33)

**&gt; ltks**

[**Example Load stored LE long term keys**](#Example~111)

```
> ltks
```

## [irks](#irks)

Load Identity Resolving Keys

[**Usage**](#Usage~34)

**&gt; irks \[--local index] \[--file file path]**

**\[--local index]**

Local controller index to use

**\[--file file path]**

Custom IRK configuration file path

[**Example Load IRKs with default local index and file**](#Example~112)

```
> irks
```

[**Example Load IRKs for controller index 0**](#Example~113)

```
> irks --local 0
```

[**Example Load IRKs for controller index 1**](#Example~114)

```
> irks --local 1
```

[**Example Load IRKs from custom configuration file**](#Example~115)

```
> irks --file /etc/bluetooth/irks.conf
```

[**Example Load IRKs from user file**](#Example~116)

```
> irks --file /home/user/bluetooth_irks.txt
```

[**Example Load IRKs for hci0 from specific file**](#Example~117)

```
> irks --local 0 --file /etc/bluetooth/hci0_irks.conf
```

## [block](#block)

Block Device

[**Usage**](#Usage~35)

**&gt; block \[-t type] &lt;remote address&gt;**

**\[-t type]**

Address type (public, random, le\_public, le\_random)

**&lt;remote address&gt;**

Bluetooth address of device to block

[**Example Block device using default address type**](#Example~118)

```
> block 00:11:22:33:44:55
```

[**Example Block another device**](#Example~119)

```
> block AA:BB:CC:DD:EE:FF
```

[**Example Block device with public address**](#Example~120)

```
> block -t public 00:11:22:33:44:55
```

[**Example Block device with random address**](#Example~121)

```
> block -t random AA:BB:CC:DD:EE:FF
```

[**Example Block LE device with public address**](#Example~122)

```
> block -t le_public 11:22:33:44:55:66
```

[**Example Block LE device with random address**](#Example~123)

```
> block -t le_random CC:DD:EE:FF:00:11
```

## [unblock](#unblock)

Unblock Device

[**Usage**](#Usage~36)

**&gt; unblock \[-t type] &lt;remote address&gt;**

**\[-t type]**

Address type (public, random, le\_public, le\_random)

**&lt;remote address&gt;**

Bluetooth address of device to unblock

[**Example Unblock device using default address type**](#Example~124)

```
> unblock 00:11:22:33:44:55
```

[**Example Unblock another device**](#Example~125)

```
> unblock AA:BB:CC:DD:EE:FF
```

[**Example Unblock device with public address**](#Example~126)

```
> unblock -t public 00:11:22:33:44:55
```

[**Example Unblock device with random address**](#Example~127)

```
> unblock -t random AA:BB:CC:DD:EE:FF
```

[**Example Unblock LE device with public address**](#Example~128)

```
> unblock -t le_public 11:22:33:44:55:66
```

[**Example Unblock LE device with random address**](#Example~129)

```
> unblock -t le_random CC:DD:EE:FF:00:11
```

## [add-uuid](#add)

Add UUID

[**Usage**](#Usage~37)

**&gt; add-uuid &lt;UUID&gt; &lt;service class hint&gt;**

**&lt;UUID&gt;**

Service UUID (16-bit, 32-bit, or 128-bit format)

**&lt;service class hint&gt;**

Service class hint bitmask (hexadecimal)

[**Example Add Serial Port Profile with object transfer hint**](#Example~130)

```
> add-uuid 0x1101 0x100000
```

[**Example Add A2DP with audio hint**](#Example~131)

```
> add-uuid 0x110E 0x200000
```

[**Example Add HFP with audio hint**](#Example~132)

```
> add-uuid 0x111E 0x200000
```

[**Example Add custom service UUID with no hint**](#Example~133)

```
> add-uuid 12345678-1234-5678-9abc-123456789abc 0x000000
```

[**Example Add custom UUID with object transfer hint**](#Example~134)

```
> add-uuid ABCD1234-ABCD-1234-ABCD-123456789ABC 0x100000
```

[**Example Add Generic Access with no specific hint**](#Example~135)

```
> add-uuid 0x1800 0x000000
```

[**Example Add Battery Service with no hint**](#Example~136)

```
> add-uuid 0x180F 0x000000
```

## [rm-uuid](#rm)

Remove UUID

[**Usage**](#Usage~38)

**&gt; rm-uuid &lt;UUID&gt;**

**&lt;UUID&gt;**

Service UUID to remove (16-bit, 32-bit, or 128-bit format)

[**Example Remove Serial Port Profile UUID**](#Example~137)

```
> rm-uuid 0x1101
```

[**Example Remove A2DP UUID**](#Example~138)

```
> rm-uuid 0x110E
```

[**Example Remove custom service UUID**](#Example~139)

```
> rm-uuid 12345678-1234-5678-9abc-123456789abc
```

## [clr-uuids](#clr)

Clear UUIDs

[**Usage**](#Usage~39)

**&gt; clr-uuids**

[**Example Clear all registered UUIDs**](#Example~140)

```
> clr-uuids
```

## [local-oob](#local)

Local OOB data

[**Usage**](#Usage~40)

**&gt; local-oob**

[**Example Generate and display local OOB authentication data**](#Example~141)

```
> local-oob
```

## [remote-oob](#remote)

Remote OOB data

[**Usage**](#Usage~41)

**&gt; remote-oob \[-t &lt;addr\_type&gt;] \[-r &lt;rand192&gt;] \[-h &lt;hash192&gt;]** **\[-R &lt;rand256&gt;] \[-H &lt;hash256&gt;] &lt;addr&gt;**

**\[-t &lt;addr\_type&gt;]**

Address type (public, random, le\_public, le\_random)

**\[-r &lt;rand192&gt;]**

P-192 random value (32 hexadecimal characters)

**\[-h &lt;hash192&gt;]**

P-192 hash value (32 hexadecimal characters)

**\[-R &lt;rand256&gt;]**

P-256 random value (64 hexadecimal characters)

**\[-H &lt;hash256&gt;]**

P-256 hash value (64 hexadecimal characters)

**&lt;addr&gt;**

Remote device Bluetooth address

[**Example Set remote OOB data for device (minimal)**](#Example~142)

```
> remote-oob 00:11:22:33:44:55
```

[**Example Set P-192 random and hash values**](#Example~143)

```
> remote-oob -r 0123456789abcdef0123456789abcdef -h fedcba9876543210fedcba9876543210 00:11:22:33:44:55
```

[**Example Set P-256 random and hash values**](#Example~144)

```
> remote-oob -R 0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef -H fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210 AA:BB:CC:DD:EE:FF
```

[**Example Set OOB data for LE public address device**](#Example~145)

```
> remote-oob -t le_public 11:22:33:44:55:66
```

[**Example Set OOB data for LE random address device**](#Example~146)

```
> remote-oob -t le_random CC:DD:EE:FF:00:11
```

[**Example Set complete OOB data with both P-192 and P-256 values**](#Example~147)

```
> remote-oob -t public -r 0123456789abcdef0123456789abcdef -h fedcba9876543210fedcba9876543210 -R 0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef -H fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210 00:11:22:33:44:55
```

## [did](#did)

Set Device ID

[**Usage**](#Usage~42)

**&gt; did &lt;source&gt;:&lt;vendor&gt;:&lt;product&gt;:&lt;version&gt;**

**&lt;source&gt;:&lt;vendor&gt;:&lt;product&gt;:&lt;version&gt;**

Device ID in format source:vendor:product:version (all hexadecimal)

[**Example Set USB source with Linux Foundation vendor ID**](#Example~148)

```
> did 0x0002:0x1D6B:0x0001:0x0100
```

[**Example Set USB device with Cypress vendor ID**](#Example~149)

```
> did 0x0002:0x04B4:0x1234:0x0200
```

[**Example Set Bluetooth SIG source with Broadcom vendor**](#Example~150)

```
> did 0x0001:0x000F:0x0001:0x0100
```

[**Example Set Bluetooth SIG source with Apple vendor**](#Example~151)

```
> did 0x0001:0x004C:0x0001:0x0100
```

[**Example Set custom USB device ID**](#Example~152)

```
> did 0x0002:0xFFFF:0x1234:0x5678
```

[**Example Set Qualcomm Bluetooth device**](#Example~153)

```
> did 0x0001:0x05F1:0xABCD:0x0001
```

## [static-addr](#static)

Set static address

[**Usage**](#Usage~43)

**&gt; static-addr &lt;address&gt;**

**&lt;address&gt;**

Static random Bluetooth address (must have bits 47-46 set to 11)

[**Example Set static random address (bit 47=1, bit 46=1)**](#Example~154)

```
> static-addr C0:00:00:00:00:01
```

[**Example Set another static random address**](#Example~155)

```
> static-addr D0:11:22:33:44:55
```

[**Example Set different static address**](#Example~156)

```
> static-addr E0:AA:BB:CC:DD:EE
```

## [public-addr](#public)

Set public address

[**Usage**](#Usage~44)

**&gt; public-addr &lt;address&gt;**

**&lt;address&gt;**

Public Bluetooth address to set for the controller

[**Example Set public Bluetooth address**](#Example~157)

```
> public-addr 00:11:22:33:44:55
```

[**Example Set different public address**](#Example~158)

```
> public-addr AA:BB:CC:DD:EE:FF
```

[**Example Set custom public address**](#Example~159)

```
> public-addr 12:34:56:78:9A:BC
```

## [ext-config](#ext)

External configuration

[**Usage**](#Usage~45)

**&gt; ext-config &lt;on/off&gt;**

**&lt;on/off&gt;**

External configuration - "on" to enable external config, "off" to disable

[**Example Enable external configuration**](#Example~160)

```
> ext-config on
```

[**Example Disable external configuration**](#Example~161)

```
> ext-config off
```

## [debug-keys](#debug)

Toggle debug keys

[**Usage**](#Usage~46)

**&gt; debug-keys &lt;on/off&gt;**

**&lt;on/off&gt;**

Debug keys support - "on" to enable debug keys, "off" to disable

[**Example Enable debug key support**](#Example~162)

```
> debug-keys on
```

[**Example Disable debug key support**](#Example~163)

```
> debug-keys off
```

## [conn-info](#conn)

Get connection information

[**Usage**](#Usage~47)

**&gt; conn-info \[-t type] &lt;remote address&gt;**

**\[-t type]**

Address type (public, random, le\_public, le\_random)

**&lt;remote address&gt;**

Bluetooth address of connected device

[**Example Get connection information for device**](#Example~164)

```
> conn-info 00:11:22:33:44:55
```

[**Example Get info for another device**](#Example~165)

```
> conn-info AA:BB:CC:DD:EE:FF
```

[**Example Get info for public address device**](#Example~166)

```
> conn-info -t public 00:11:22:33:44:55
```

[**Example Get info for LE public address device**](#Example~167)

```
> conn-info -t le_public 11:22:33:44:55:66
```

[**Example Get info for LE random address device**](#Example~168)

```
> conn-info -t le_random CC:DD:EE:FF:00:11
```

## [io-cap](#io)

Set IO Capability

[**Usage**](#Usage~48)

**&gt; io-cap &lt;cap&gt;**

**&lt;cap&gt;**

IO capability (DisplayOnly, DisplayYesNo, KeyboardOnly, NoInputNoOutput, KeyboardDisplay)

[**Example Set IO capability to display only**](#Example~169)

```
> io-cap DisplayOnly
```

[**Example Set IO capability to display with yes/no**](#Example~170)

```
> io-cap DisplayYesNo
```

[**Example Set IO capability to keyboard only**](#Example~171)

```
> io-cap KeyboardOnly
```

[**Example Set IO capability to no input/output**](#Example~172)

```
> io-cap NoInputNoOutput
```

[**Example Set IO capability to keyboard and display**](#Example~173)

```
> io-cap KeyboardDisplay
```

## [scan-params](#scan)

Set Scan Parameters

[**Usage**](#Usage~49)

**&gt; scan-params &lt;interval&gt; &lt;window&gt;**

**&lt;interval&gt;**

Scan interval in hexadecimal (0x0004 to 0x4000, units of 0.625ms)

**&lt;window&gt;**

Scan window in hexadecimal (0x0004 to 0x4000, units of 0.625ms)

[**Example Set fast scan (16ms interval, 16ms window)**](#Example~174)

```
> scan-params 0x0010 0x0010
```

[**Example Set moderate fast scan (32ms interval, 32ms window)**](#Example~175)

```
> scan-params 0x0020 0x0020
```

[**Example Set balanced scan (96ms interval, 48ms window)**](#Example~176)

```
> scan-params 0x0060 0x0030
```

[**Example Set slow scan (256ms interval, 80ms window)**](#Example~177)

```
> scan-params 0x0100 0x0050
```

[**Example Set background scan (2.56s interval, 18ms window)**](#Example~178)

```
> scan-params 0x0800 0x0012
```

[**Example Set very slow background scan**](#Example~179)

```
> scan-params 0x1000 0x0020
```

## [get-clock](#get)

Get Clock Information

[**Usage**](#Usage~50)

**&gt; get-clock \[address]**

**\[address]**

Optional remote device Bluetooth address (omit for local clock)

[**Example Get local Bluetooth clock information**](#Example~180)

```
> get-clock
```

[**Example Get clock information for remote device**](#Example~181)

```
> get-clock 00:11:22:33:44:55
```

[**Example Get clock for another remote device**](#Example~182)

```
> get-clock AA:BB:CC:DD:EE:FF
```

## [add-device](#add~2)

Add Device

[**Usage**](#Usage~51)

**&gt; add-device \[-a action] \[-t type] &lt;address&gt;**

**\[-a action]**

Device action (auto, allow, deny) - "auto" for auto-connect, "allow" for allow-only, "deny" to block

**\[-t type]**

Address type (public, random, le\_public, le\_random)

**&lt;address&gt;**

Bluetooth address of device to add

[**Example Add device with auto-connect action and default type**](#Example~183)

```
> add-device 00:11:22:33:44:55
```

[**Example Add another device with defaults**](#Example~184)

```
> add-device AA:BB:CC:DD:EE:FF
```

[**Example Add device with auto-connect action**](#Example~185)

```
> add-device -a auto 00:11:22:33:44:55
```

[**Example Add device with allow-only action (no auto-connect)**](#Example~186)

```
> add-device -a allow 11:22:33:44:55:66
```

[**Example Add device with deny action (blocked)**](#Example~187)

```
> add-device -a deny CC:DD:EE:FF:00:11
```

[**Example Add device with public address type**](#Example~188)

```
> add-device -t public 00:11:22:33:44:55
```

[**Example Add device with random address type**](#Example~189)

```
> add-device -t random AA:BB:CC:DD:EE:FF
```

[**Example Add LE device with public address**](#Example~190)

```
> add-device -t le_public 11:22:33:44:55:66
```

[**Example Add LE device with random address**](#Example~191)

```
> add-device -t le_random CC:DD:EE:FF:00:11
```

[**Example Add LE public device with auto-connect**](#Example~192)

```
> add-device -a auto -t le_public 00:11:22:33:44:55
```

[**Example Add random address device with allow action**](#Example~193)

```
> add-device -a allow -t random AA:BB:CC:DD:EE:FF
```

[**Example Add LE random device with deny action**](#Example~194)

```
> add-device -a deny -t le_random CC:DD:EE:FF:00:11
```

## [del-device](#del)

Remove Device

[**Usage**](#Usage~52)

**&gt; del-device \[-t type] &lt;address&gt;**

**\[-t type]**

Address type (public, random, le\_public, le\_random)

**&lt;address&gt;**

Bluetooth address of device to remove

[**Example Remove device using default address type**](#Example~195)

```
> del-device 00:11:22:33:44:55
```

[**Example Remove another device**](#Example~196)

```
> del-device AA:BB:CC:DD:EE:FF
```

[**Example Remove device with public address type**](#Example~197)

```
> del-device -t public 00:11:22:33:44:55
```

[**Example Remove device with random address type**](#Example~198)

```
> del-device -t random AA:BB:CC:DD:EE:FF
```

[**Example Remove LE device with public address**](#Example~199)

```
> del-device -t le_public 11:22:33:44:55:66
```

[**Example Remove LE device with random address**](#Example~200)

```
> del-device -t le_random CC:DD:EE:FF:00:11
```

## [clr-devices](#clr~2)

Clear Devices

[**Usage**](#Usage~53)

**&gt; clr-devices**

[**Example Clear all devices from the device list**](#Example~201)

```
> clr-devices
```

## bredr-oob

Local OOB data (BR/EDR)

[**Usage**](#Usage~54)

**&gt; bredr-oob**

[**Example Generate and display local BR/EDR OOB authentication data**](#Example~202)

```
> bredr-oob
```

## le-oob

Local OOB data (LE)

[**Usage**](#Usage~55)

**&gt; le-oob**

[**Example Generate and display local LE OOB authentication data**](#Example~203)

```
> le-oob
```

## [advinfo](#advinfo)

Show advertising features

[**Usage**](#Usage~56)

**&gt; advinfo**

[**Example Display advertising capabilities and supported features**](#Example~204)

```
> advinfo
```

## [advsize](#advsize)

Show advertising size info

[**Usage**](#Usage~57)

**&gt; advsize \[options] &lt;instance\_id&gt;**

**\[options]**

Advertising options flags

**&lt;instance\_id&gt;**

Advertising instance identifier (0-based)

[**Example Show advertising data size information for instance 0**](#Example~205)

```
> advsize 0
```

[**Example Show size information for advertising instance 1**](#Example~206)

```
> advsize 1
```

[**Example Show size information for advertising instance 5**](#Example~207)

```
> advsize 5
```

## [add-adv](#add~3)

Add advertising instance

[**Usage**](#Usage~58)

**&gt; add-adv \[options] &lt;instance\_id&gt;**

**\[options]**

Advertising options (-c connectable, -s scannable, -g general discoverable, -l limited discoverable, -m managed flags, -p TX power)

**&lt;instance\_id&gt;**

Advertising instance identifier (0-based)

[**Example Add advertising instance 0 with default settings**](#Example~208)

```
> add-adv 0
```

[**Example Add advertising instance 1**](#Example~209)

```
> add-adv 1
```

[**Example Add advertising instance 5**](#Example~210)

```
> add-adv 5
```

[**Example Add connectable advertising instance 0**](#Example~211)

```
> add-adv -c 0
```

[**Example Add scannable advertising instance 1**](#Example~212)

```
> add-adv -s 1
```

[**Example Add general discoverable advertising instance 2**](#Example~213)

```
> add-adv -g 2
```

[**Example Add limited discoverable advertising instance 3**](#Example~214)

```
> add-adv -l 3
```

[**Example Add managed flags advertising instance 4**](#Example~215)

```
> add-adv -m 4
```

[**Example Add TX power advertising instance 5**](#Example~216)

```
> add-adv -p 5
```

[**Example Add connectable and scannable advertising instance**](#Example~217)

```
> add-adv -c -s 0
```

[**Example Add general discoverable with TX power**](#Example~218)

```
> add-adv -g -p 1
```

[**Example Add connectable, general discoverable, and scannable**](#Example~219)

```
> add-adv -c -g -s 2
```

## [rm-adv](#rm~2)

Remove advertising instance

[**Usage**](#Usage~59)

**&gt; rm-adv &lt;instance\_id&gt;**

**&lt;instance\_id&gt;**

Advertising instance identifier (0-based) to remove

[**Example Remove advertising instance 0**](#Example~220)

```
> rm-adv 0
```

[**Example Remove advertising instance 1**](#Example~221)

```
> rm-adv 1
```

[**Example Remove advertising instance 5**](#Example~222)

```
> rm-adv 5
```

## [clr-adv](#clr~3)

Clear advertising instances

[**Usage**](#Usage~60)

**&gt; clr-adv**

[**Example Clear all advertising instances**](#Example~223)

```
> clr-adv
```

## [add-ext-adv-params](#add~4)

Add extended advertising params

[**Usage**](#Usage~61)

**&gt; add-ext-adv-params \[options] &lt;instance\_id&gt;**

**\[options]**

Extended advertising options (-c connectable, -s scannable, -d directed, -h high duty cycle, -l legacy PDU, -a anonymous, -i include TX power)

**&lt;instance\_id&gt;**

Extended advertising instance identifier (0-based)

[**Example Add extended advertising parameters for instance 0**](#Example~224)

```
> add-ext-adv-params 0
```

[**Example Add extended advertising parameters for instance 1**](#Example~225)

```
> add-ext-adv-params 1
```

[**Example Add connectable extended advertising for instance 0**](#Example~226)

```
> add-ext-adv-params -c 0
```

[**Example Add scannable extended advertising for instance 1**](#Example~227)

```
> add-ext-adv-params -s 1
```

[**Example Add directed extended advertising for instance 2**](#Example~228)

```
> add-ext-adv-params -d 2
```

[**Example Add high duty cycle extended advertising for instance 3**](#Example~229)

```
> add-ext-adv-params -h 3
```

[**Example Add legacy PDU extended advertising for instance 4**](#Example~230)

```
> add-ext-adv-params -l 4
```

[**Example Add anonymous extended advertising for instance 5**](#Example~231)

```
> add-ext-adv-params -a 5
```

[**Example Add include TX power extended advertising for instance 6**](#Example~232)

```
> add-ext-adv-params -i 6
```

[**Example Add connectable and scannable extended advertising**](#Example~233)

```
> add-ext-adv-params -c -s 0
```

[**Example Add connectable extended advertising with TX power**](#Example~234)

```
> add-ext-adv-params -c -i 1
```

[**Example Add scannable legacy PDU extended advertising**](#Example~235)

```
> add-ext-adv-params -s -l 2
```

## [add-ext-adv-data](#add~5)

Add extended advertising data

[**Usage**](#Usage~62)

**&gt; add-ext-adv-data \[options] &lt;instance\_id&gt;**

**\[options]**

Data options (-s for scan response data, -c for complete data)

**&lt;instance\_id&gt;**

Extended advertising instance identifier (0-based)

[**Example Add advertising data to extended instance 0**](#Example~236)

```
> add-ext-adv-data 0
```

[**Example Add advertising data to extended instance 1**](#Example~237)

```
> add-ext-adv-data 1
```

[**Example Add scan response data to extended instance 0**](#Example~238)

```
> add-ext-adv-data -s 0
```

[**Example Add scan response data to extended instance 1**](#Example~239)

```
> add-ext-adv-data -s 1
```

[**Example Add complete advertising data to instance 0**](#Example~240)

```
> add-ext-adv-data -c 0
```

[**Example Add complete scan response data to instance 1**](#Example~241)

```
> add-ext-adv-data -c -s 1
```

## [appearance](#appearance)

Set appearance

[**Usage**](#Usage~63)

**&gt; appearance &lt;appearance&gt;**

**&lt;appearance&gt;**

Appearance value (16-bit integer) representing device type

[**Example Set appearance to Unknown**](#Example~242)

```
> appearance 0
```

[**Example Set appearance to Generic Phone**](#Example~243)

```
> appearance 64
```

[**Example Set appearance to Generic Computer**](#Example~244)

```
> appearance 128
```

[**Example Set appearance to Generic Audio/Video device**](#Example~245)

```
> appearance 832
```

[**Example Set appearance to Speaker**](#Example~246)

```
> appearance 833
```

[**Example Set appearance to Microphone**](#Example~247)

```
> appearance 834
```

[**Example Set appearance to Headset**](#Example~248)

```
> appearance 835
```

[**Example Set appearance to Headphones**](#Example~249)

```
> appearance 836
```

[**Example Set appearance to Generic HID**](#Example~250)

```
> appearance 960
```

[**Example Set appearance to Keyboard**](#Example~251)

```
> appearance 961
```

[**Example Set appearance to Mouse**](#Example~252)

```
> appearance 962
```

[**Example Set appearance to Joystick**](#Example~253)

```
> appearance 963
```

[**Example Set appearance to Generic Health Sensor**](#Example~254)

```
> appearance 1344
```

[**Example Set appearance to Heart Rate Sensor**](#Example~255)

```
> appearance 1345
```

[**Example Set appearance to Blood Pressure Monitor**](#Example~256)

```
> appearance 1346
```

[**Example Set appearance to Generic Sports and Fitness**](#Example~257)

```
> appearance 1472
```

[**Example Set appearance to Location Display**](#Example~258)

```
> appearance 1473
```

[**Example Set appearance to Location Navigation Display**](#Example~259)

```
> appearance 1474
```

## [phy](#phy)

Get/Set PHY Configuration

[**Usage**](#Usage~64)

**&gt; phy \[LE1MTX] \[LE1MRX] \[LE2MTX] \[LE2MRX] \[LECODEDTX] \[LECODEDRX]** **\[BR1M1SLOT] \[BR1M3SLOT] \[BR1M5SLOT]\[EDR2M1SLOT] \[EDR2M3SLOT]** **\[EDR2M5SLOT]\[EDR3M1SLOT] \[EDR3M3SLOT] \[EDR3M5SLOT]**

**\[PHY flags]**

PHY configuration flags to enable (LE1MTX, LE1MRX, LE2MTX, LE2MRX, LECODEDTX, LECODEDRX, BR1M1SLOT, etc.)

[**Example Display current PHY configuration**](#Example~260)

```
> phy
```

[**Example Enable LE 1M TX PHY**](#Example~261)

```
> phy LE1MTX
```

[**Example Enable LE 1M RX PHY**](#Example~262)

```
> phy LE1MRX
```

[**Example Enable LE 2M TX PHY**](#Example~263)

```
> phy LE2MTX
```

[**Example Enable LE 2M RX PHY**](#Example~264)

```
> phy LE2MRX
```

[**Example Enable LE Coded TX PHY**](#Example~265)

```
> phy LECODEDTX
```

[**Example Enable LE Coded RX PHY**](#Example~266)

```
> phy LECODEDRX
```

[**Example Enable BR 1M 1-slot packets**](#Example~267)

```
> phy BR1M1SLOT
```

[**Example Enable BR 1M 3-slot packets**](#Example~268)

```
> phy BR1M3SLOT
```

[**Example Enable BR 1M 5-slot packets**](#Example~269)

```
> phy BR1M5SLOT
```

[**Example Enable EDR 2M 1-slot packets**](#Example~270)

```
> phy EDR2M1SLOT
```

[**Example Enable EDR 2M 3-slot packets**](#Example~271)

```
> phy EDR2M3SLOT
```

[**Example Enable EDR 2M 5-slot packets**](#Example~272)

```
> phy EDR2M5SLOT
```

[**Example Enable EDR 3M 1-slot packets**](#Example~273)

```
> phy EDR3M1SLOT
```

[**Example Enable EDR 3M 3-slot packets**](#Example~274)

```
> phy EDR3M3SLOT
```

[**Example Enable EDR 3M 5-slot packets**](#Example~275)

```
> phy EDR3M5SLOT
```

[**Example Enable LE 1M TX and RX PHYs**](#Example~276)

```
> phy LE1MTX LE1MRX
```

[**Example Enable LE 1M and 2M TX/RX PHYs**](#Example~277)

```
> phy LE1MTX LE1MRX LE2MTX LE2MRX
```

[**Example Enable 1-slot packets for all BR/EDR PHYs**](#Example~278)

```
> phy BR1M1SLOT EDR2M1SLOT EDR3M1SLOT
```

## [wbs](#wbs)

Toggle Wideband-Speech support

[**Usage**](#Usage~65)

**&gt; wbs &lt;on/off&gt;**

**&lt;on/off&gt;**

Wideband Speech support - "on" to enable for audio profiles, "off" to disable

[**Example Enable Wideband Speech support for audio profiles**](#Example~279)

```
> wbs on
```

[**Example Disable Wideband Speech support**](#Example~280)

```
> wbs off
```

## [secinfo](#secinfo)

Show security information

[**Usage**](#Usage~66)

**&gt; secinfo**

[**Example Display security features and capabilities**](#Example~281)

```
> secinfo
```

## [expinfo](#expinfo)

Show experimental features

[**Usage**](#Usage~67)

**&gt; expinfo**

[**Example Display available experimental features and their status**](#Example~282)

```
> expinfo
```

## [exp-debug](#exp)

Set debug feature

[**Usage**](#Usage~68)

**&gt; exp-debug &lt;on/off&gt;**

**&lt;on/off&gt;**

Experimental debug features - "on" to enable, "off" to disable

[**Example Enable experimental debug features**](#Example~283)

```
> exp-debug on
```

[**Example Disable experimental debug features**](#Example~284)

```
> exp-debug off
```

## [exp-privacy](#exp~2)

Set LL privacy feature

[**Usage**](#Usage~69)

**&gt; exp-privacy &lt;on/off&gt;**

**&lt;on/off&gt;**

Experimental Link Layer privacy - "on" to enable LL privacy features, "off" to disable

[**Example Enable experimental Link Layer privacy features**](#Example~285)

```
> exp-privacy on
```

[**Example Disable experimental Link Layer privacy features**](#Example~286)

```
> exp-privacy off
```

## [exp-quality](#exp~3)

Set bluetooth quality report feature

[**Usage**](#Usage~70)

**&gt; exp-quality &lt;on/off&gt;**

**&lt;on/off&gt;**

Experimental quality reporting - "on" to enable Bluetooth quality reports, "off" to disable

[**Example Enable experimental Bluetooth quality reporting**](#Example~287)

```
> exp-quality on
```

[**Example Disable experimental Bluetooth quality reporting**](#Example~288)

```
> exp-quality off
```

## [exp-offload](#exp~4)

Toggle codec support

[**Usage**](#Usage~71)

**&gt; exp-offload &lt;on/off&gt;**

**&lt;on/off&gt;**

Experimental codec offload - "on" to enable codec offload support, "off" to disable

[**Example Enable experimental codec offload support**](#Example~289)

```
> exp-offload on
```

[**Example Disable experimental codec offload support**](#Example~290)

```
> exp-offload off
```

## [exp-iso](#exp~5)

Toggle ISO Socket support

[**Usage**](#Usage~72)

**&gt; exp-iso &lt;on/off&gt;**

**&lt;on/off&gt;**

Experimental ISO Socket support - "on" to enable ISO Socket support, "off" to disable

[**Example Enable experimental ISO Socket support**](#Example~291)

```
> exp-offload on
```

[**Example Disable experimental ISO Socket support**](#Example~292)

```
> exp-offload off
```

## [read-sysconfig](#read)

Read System Configuration

[**Usage**](#Usage~73)

**&gt; read-sysconfig**

[**Example Read current system configuration parameters**](#Example~293)

```
> read-sysconfig
```

## [set-sysconfig](#set)

Set System Configuration

[**Usage**](#Usage~74)

**&gt; set-sysconfig &lt;-v|-h&gt; \[options...]**

**&lt;-v|-h&gt;**

Verbose output or help flag

**\[options...]**

System configuration options (--br-page-scan-type, --br-page-scan-interval, etc.)

[**Example Show help for system configuration options**](#Example~294)

```
> set-sysconfig -h
```

[**Example Set system configuration with verbose output**](#Example~295)

```
> set-sysconfig -v
```

[**Example Set BR/EDR page scan type with verbose output**](#Example~296)

```
> set-sysconfig -v --br-page-scan-type=0
```

[**Example Set BR/EDR page scan interval**](#Example~297)

```
> set-sysconfig -v --br-page-scan-interval=0x800
```

[**Example Set BR/EDR page scan window**](#Example~298)

```
> set-sysconfig -v --br-page-scan-window=0x12
```

[**Example Set BR/EDR inquiry scan type**](#Example~299)

```
> set-sysconfig -v --br-inquiry-scan-type=0
```

[**Example Set BR/EDR link supervision timeout**](#Example~300)

```
> set-sysconfig -v --br-link-supervision-timeout=0x2000
```

[**Example Set LE minimum connection interval**](#Example~301)

```
> set-sysconfig -v --le-min-connection-interval=0x18
```

[**Example Set LE maximum connection interval**](#Example~302)

```
> set-sysconfig -v --le-max-connection-interval=0x28
```

[**Example Set multiple BR/EDR scan parameters**](#Example~303)

```
> set-sysconfig -v --br-page-scan-type=0 --br-page-scan-interval=0x800 --br-page-scan-window=0x12
```

[**Example Set multiple LE connection parameters**](#Example~304)

```
> set-sysconfig -v --le-min-connection-interval=0x18 --le-max-connection-interval=0x28 --le-connection-latency=0
```

## [get-flags](#get~2)

Get device flags

[**Usage**](#Usage~75)

**&gt; get-flags \[-t type] &lt;address&gt;**

**\[-t type]**

Address type (public, random, le\_public, le\_random)

**&lt;address&gt;**

Bluetooth address of device to query flags for

[**Example Get device flags for device using default type**](#Example~305)

```
> get-flags 00:11:22:33:44:55
```

[**Example Get flags for another device**](#Example~306)

```
> get-flags AA:BB:CC:DD:EE:FF
```

[**Example Get flags for public address device**](#Example~307)

```
> get-flags -t public 00:11:22:33:44:55
```

[**Example Get flags for random address device**](#Example~308)

```
> get-flags -t random AA:BB:CC:DD:EE:FF
```

[**Example Get flags for LE public address device**](#Example~309)

```
> get-flags -t le_public 11:22:33:44:55:66
```

[**Example Get flags for LE random address device**](#Example~310)

```
> get-flags -t le_random CC:DD:EE:FF:00:11
```

## [set-flags](#set~2)

Set device flags

[**Usage**](#Usage~76)

**&gt; set-flags \[-f flags] \[-t type] &lt;address&gt;**

**\[-f flags]**

Device flags bitmask in hexadecimal (0x01=remote wake, 0x02=privacy)

**\[-t type]**

Address type (public, random, le\_public, le\_random)

**&lt;address&gt;**

Bluetooth address of device to set flags for

[**Example Set default flags for device**](#Example~311)

```
> set-flags 00:11:22:33:44:55
```

[**Example Set default flags for another device**](#Example~312)

```
> set-flags AA:BB:CC:DD:EE:FF
```

[**Example Set remote wake flag for device**](#Example~313)

```
> set-flags -f 0x01 00:11:22:33:44:55
```

[**Example Set device privacy flag**](#Example~314)

```
> set-flags -f 0x02 AA:BB:CC:DD:EE:FF
```

[**Example Set both remote wake and privacy flags**](#Example~315)

```
> set-flags -f 0x03 11:22:33:44:55:66
```

[**Example Set remote wake for public address device**](#Example~316)

```
> set-flags -f 0x01 -t public 00:11:22:33:44:55
```

[**Example Set privacy flag for LE public device**](#Example~317)

```
> set-flags -f 0x02 -t le_public 11:22:33:44:55:66
```

[**Example Set multiple flags for LE random device**](#Example~318)

```
> set-flags -f 0x03 -t le_random CC:DD:EE:FF:00:11
```

[**Example Clear all flags for device**](#Example~319)

```
> set-flags -f 0x00 00:11:22:33:44:55
```

[**Example Clear all flags for LE public device**](#Example~320)

```
> set-flags -f 0x00 -t le_public 11:22:33:44:55:66
```

# [RESOURCES](#RESOURCES)

&lt;http://www.bluez.org&gt;

# [REPORTING BUGS](#REPORTING_BUGS)

&lt;linux-bluetooth@vger.kernel.org&gt;

# [Copyright](#Copyright)

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

July 2023 BlueZ

---

Document: bluetoothctl-mgmt(1) from bluez 5.87-r3 (Chainguard OS)
Source: https://github.com/bluez/bluez
