bluetoothctl-mgmt(1)

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

Name

bluetoothctl-mgmt - Management Submenu

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

select

Select a different index

Usage
> select <index>
<index>
Controller index number (0-based) to select
Example Select controller index 0 (hci0)
> select 0

Example Select controller index 1 (hci1)
> select 1

Example Select controller index 2 (hci2)
> select 2


revision

Get the MGMT Revision

Usage
> revision
Example Display MGMT API revision information
> revision


commands

List supported commands

Usage
> commands
Example List all supported management commands
> commands


config

Show configuration info

Usage
> config
Example Show current controller configuration
> config


info

Show controller info

Usage
> info
Example Show detailed controller information
> info


extinfo

Show extended controller info

Usage
> extinfo
Example Show extended controller information
> extinfo


auto-power

Power all available features

Usage
> auto-power
Example Automatically power on all available controller features
> auto-power


power

Toggle powered state

Usage
> power <on/off>
<on/off>
Power state - "on" to enable controller, "off" to disable
Example Power on the controller
> power on

Example Power off the controller
> power off


discov

Toggle discoverable state

Usage
> discov <yes/no/limited> [timeout]
<yes/no/limited>
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
> discov yes

Example Make controller non-discoverable
> discov no

Example Enable limited discoverable mode
> discov limited

Example Make discoverable for 30 seconds
> discov yes 30

Example Make discoverable for 2 minutes
> discov yes 120

Example Make discoverable for 5 minutes
> discov yes 300

Example Limited discoverable for 60 seconds
> discov limited 60


connectable

Toggle connectable state

Usage
> connectable <on/off>
<on/off>
Connectable state - "on" to allow connections, "off" to reject
Example Make controller connectable
> connectable on

Example Make controller non-connectable
> connectable off


fast-conn

Toggle fast connectable state

Usage
> fast-conn <on/off>
<on/off>
Fast connectable state - "on" to enable fast connection mode, "off" to disable
Example Enable fast connectable mode
> fast-conn on

Example Disable fast connectable mode
> fast-conn off


bondable

Toggle bondable state

Usage
> bondable <on/off>
<on/off>
Bondable state - "on" to enable bonding capability, "off" to disable
Example Enable bonding capability
> bondable on

Example Disable bonding capability
> bondable off


pairable

Toggle bondable state

Usage
> pairable <on/off>
<on/off>
Pairable state - "on" to enable pairing capability, "off" to disable
Example Enable pairing capability
> pairable on

Example Disable pairing capability
> pairable off


linksec

Toggle link level security

Usage
> linksec <on/off>
<on/off>
Link level security - "on" to enable, "off" to disable
Example Enable link level security
> linksec on

Example Disable link level security
> linksec off


ssp

Toggle SSP mode

Usage
> ssp <on/off>
<on/off>
Secure Simple Pairing mode - "on" to enable SSP, "off" to disable
Example Enable Secure Simple Pairing
> ssp on

Example Disable Secure Simple Pairing
> ssp off


sc

Toggle SC support

Usage
> sc <on/off/only>
<on/off/only>
Secure Connections support - "on" to enable, "off" to disable, "only" for exclusive use
Example Enable Secure Connections support
> sc on

Example Disable Secure Connections support
> sc off

Example Use Secure Connections exclusively
> sc only


hs

Toggle HS support

Usage
> hs <on/off>
<on/off>
High Speed support - "on" to enable 802.11 High Speed, "off" to disable
Example Enable High Speed support
> hs on

Example Disable High Speed support
> hs off


le

Toggle LE support

Usage
> le <on/off>
<on/off>
Low Energy support - "on" to enable LE functionality, "off" to disable
Example Enable Low Energy support
> le on

Example Disable Low Energy support
> le off


advertising

Toggle LE advertising

Usage
> advertising <on/off>
<on/off>
LE advertising state - "on" to enable advertising, "off" to disable
Example Enable LE advertising
> advertising on

Example Disable LE advertising
> advertising off


bredr

Toggle BR/EDR support

Usage
> bredr <on/off>
<on/off>
BR/EDR support - "on" to enable Classic Bluetooth, "off" to disable
Example Enable BR/EDR (Classic Bluetooth) support
> bredr on

Example Disable BR/EDR support
> bredr off


privacy

Toggle privacy support

Usage
> privacy <on/off> [irk]
<on/off>
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
> privacy on

Example Disable privacy
> privacy off

Example Enable privacy with specific IRK
> privacy on 0123456789abcdef0123456789abcdef

Example Enable privacy with different IRK
> privacy on 1234567890abcdef1234567890abcdef


class

Set device major/minor class

Usage
> class <major> <minor>
<major>
Major device class code (hexadecimal)
<minor>
Minor device class code (hexadecimal)
Example Set class to Audio/Video - Wearable Headset
> class 0x04 0x01

Example Set class to Audio/Video - Hands-free
> class 0x04 0x02

Example Set class to Audio/Video - Headphones
> class 0x04 0x06

Example Set class to Audio/Video - VCR
> class 0x04 0x0B

Example Set class to Computer - Desktop workstation
> class 0x01 0x01

Example Set class to Computer - Server
> class 0x01 0x02

Example Set class to Computer - Laptop
> class 0x01 0x03

Example Set class to Computer - Handheld PC/PDA
> class 0x01 0x04

Example Set class to Phone - Cellular
> class 0x02 0x01

Example Set class to Phone - Cordless
> class 0x02 0x02

Example Set class to Phone - Smart phone
> class 0x02 0x03


disconnect

Disconnect device

Usage
> disconnect [-t type] <remote address>
[-t type]
Optional address type (public, random, le_public, le_random)
<remote address>
Bluetooth address of device to disconnect
Example Disconnect device using public address
> disconnect 00:11:22:33:44:55

Example Disconnect another device
> disconnect AA:BB:CC:DD:EE:FF

Example Disconnect device with public address type
> disconnect -t public 00:11:22:33:44:55

Example Disconnect device with random address type
> disconnect -t random AA:BB:CC:DD:EE:FF

Example Disconnect LE device with public address
> disconnect -t le_public 11:22:33:44:55:66

Example Disconnect LE device with random address
> disconnect -t le_random CC:DD:EE:FF:00:11


con

List connections

Usage
> con
Example List all active connections
> con


find

Discover nearby devices

Usage
> 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
> find

Example Discover LE devices only
> find -l

Example Discover BR/EDR devices only
> find -b

Example Discover devices in limited mode
> find -L

Example Discover LE devices in limited mode
> find -l -L

Example Discover BR/EDR devices in limited mode
> find -b -L


find-service

Discover nearby service

Usage
> 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
> find-service -u 0x1800

Example Find devices with Battery Service
> find-service -u 0x180F

Example Find devices with custom service
> find-service -u 12345678-1234-5678-9abc-123456789abc

Example Find devices with RSSI ≥ -60 dBm
> find-service -r -60

Example Find devices with RSSI ≥ -80 dBm
> find-service -r -80

Example Find Battery Service devices with RSSI ≥ -70 dBm
> find-service -u 0x180F -r -70

Example Find Generic Access on LE devices with strong signal
> find-service -u 0x1800 -r -50 -l

Example Find Serial Port Profile on BR/EDR devices
> find-service -u 0x1101 -b

Example Find Battery Service on LE devices
> find-service -u 0x180F -l


stop-find

Stop discovery

Usage
> 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
> stop-find

Example Stop LE discovery only
> stop-find -l

Example Stop BR/EDR discovery only
> stop-find -b


name

Set local name

Usage
> name <name> [shortname]
<name>
Complete local name for the controller
[shortname]
Optional shortened local name
Example Set complete local name
> name "My Bluetooth Device"

Example Set name without spaces
> name MyComputer

Example Set name with hyphens
> name "Home-Office-PC"

Example Set both complete and shortened names
> name "My Long Device Name" MyDevice

Example Set descriptive and short names
> name "Professional Workstation" ProWork

Example Set audio device names
> name "Bluetooth Audio Headset" BT-Audio


pair

Pair with a remote device

Usage
> pair [-c cap] [-t type] <remote address>
[-c cap]
IO capability (DisplayOnly, DisplayYesNo, KeyboardOnly, NoInputNoOutput, KeyboardDisplay)
[-t type]
Address type (public, random, le_public, le_random)
<remote address>
Bluetooth address of device to pair with
Example Pair with device using default settings
> pair 00:11:22:33:44:55

Example Pair with another device
> pair AA:BB:CC:DD:EE:FF

Example Pair with display-only IO capability
> pair -c DisplayOnly 00:11:22:33:44:55

Example Pair with display and yes/no capability
> pair -c DisplayYesNo AA:BB:CC:DD:EE:FF

Example Pair with keyboard-only capability
> pair -c KeyboardOnly 11:22:33:44:55:66

Example Pair with no I/O capability
> pair -c NoInputNoOutput CC:DD:EE:FF:00:11

Example Pair with keyboard and display capability
> pair -c KeyboardDisplay 22:33:44:55:66:77

Example Pair with public address device
> pair -t public 00:11:22:33:44:55

Example Pair with random address device
> pair -t random AA:BB:CC:DD:EE:FF

Example Pair with LE public address device
> pair -t le_public 11:22:33:44:55:66

Example Pair with LE random address device
> pair -t le_random CC:DD:EE:FF:00:11

Example Pair LE device with keyboard/display capability
> pair -c KeyboardDisplay -t le_public 00:11:22:33:44:55

Example Pair random address device with display/yes-no capability
> pair -c DisplayYesNo -t random AA:BB:CC:DD:EE:FF


cancelpair

Cancel pairing

Usage
> cancelpair [-t type] <remote address>
[-t type]
Address type (public, random, le_public, le_random)
<remote address>
Bluetooth address of device to cancel pairing with
Example Cancel ongoing pairing with device
> cancelpair 00:11:22:33:44:55

Example Cancel pairing with another device
> cancelpair AA:BB:CC:DD:EE:FF

Example Cancel pairing with public address device
> cancelpair -t public 00:11:22:33:44:55

Example Cancel pairing with LE random address device
> cancelpair -t le_random AA:BB:CC:DD:EE:FF


unpair

Unpair device

Usage
> unpair [-t type] <remote address>
[-t type]
Address type (public, random, le_public, le_random)
<remote address>
Bluetooth address of device to unpair
Example Remove pairing with device
> unpair 00:11:22:33:44:55

Example Remove pairing with another device
> unpair AA:BB:CC:DD:EE:FF

Example Unpair public address device
> unpair -t public 00:11:22:33:44:55

Example Unpair LE public address device
> unpair -t le_public 11:22:33:44:55:66

Example Unpair LE random address device
> unpair -t le_random CC:DD:EE:FF:00:11


keys

Load Link Keys

Usage
> keys
Example Load stored link keys
> keys


ltks

Load Long Term Keys

Usage
> ltks
Example Load stored LE long term keys
> ltks


irks

Load Identity Resolving Keys

Usage
> 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
> irks

Example Load IRKs for controller index 0
> irks --local 0

Example Load IRKs for controller index 1
> irks --local 1

Example Load IRKs from custom configuration file
> irks --file /etc/bluetooth/irks.conf

Example Load IRKs from user file
> irks --file /home/user/bluetooth_irks.txt

Example Load IRKs for hci0 from specific file
> irks --local 0 --file /etc/bluetooth/hci0_irks.conf


block

Block Device

Usage
> block [-t type] <remote address>
[-t type]
Address type (public, random, le_public, le_random)
<remote address>
Bluetooth address of device to block
Example Block device using default address type
> block 00:11:22:33:44:55

Example Block another device
> block AA:BB:CC:DD:EE:FF

Example Block device with public address
> block -t public 00:11:22:33:44:55

Example Block device with random address
> block -t random AA:BB:CC:DD:EE:FF

Example Block LE device with public address
> block -t le_public 11:22:33:44:55:66

Example Block LE device with random address
> block -t le_random CC:DD:EE:FF:00:11


unblock

Unblock Device

Usage
> unblock [-t type] <remote address>
[-t type]
Address type (public, random, le_public, le_random)
<remote address>
Bluetooth address of device to unblock
Example Unblock device using default address type
> unblock 00:11:22:33:44:55

Example Unblock another device
> unblock AA:BB:CC:DD:EE:FF

Example Unblock device with public address
> unblock -t public 00:11:22:33:44:55

Example Unblock device with random address
> unblock -t random AA:BB:CC:DD:EE:FF

Example Unblock LE device with public address
> unblock -t le_public 11:22:33:44:55:66

Example Unblock LE device with random address
> unblock -t le_random CC:DD:EE:FF:00:11


add-uuid

Add UUID

Usage
> add-uuid <UUID> <service class hint>
<UUID>
Service UUID (16-bit, 32-bit, or 128-bit format)
<service class hint>
Service class hint bitmask (hexadecimal)
Example Add Serial Port Profile with object transfer hint
> add-uuid 0x1101 0x100000

Example Add A2DP with audio hint
> add-uuid 0x110E 0x200000

Example Add HFP with audio hint
> add-uuid 0x111E 0x200000

Example Add custom service UUID with no hint
> add-uuid 12345678-1234-5678-9abc-123456789abc 0x000000

Example Add custom UUID with object transfer hint
> add-uuid ABCD1234-ABCD-1234-ABCD-123456789ABC 0x100000

Example Add Generic Access with no specific hint
> add-uuid 0x1800 0x000000

Example Add Battery Service with no hint
> add-uuid 0x180F 0x000000


rm-uuid

Remove UUID

Usage
> rm-uuid <UUID>
<UUID>
Service UUID to remove (16-bit, 32-bit, or 128-bit format)
Example Remove Serial Port Profile UUID
> rm-uuid 0x1101

Example Remove A2DP UUID
> rm-uuid 0x110E

Example Remove custom service UUID
> rm-uuid 12345678-1234-5678-9abc-123456789abc


clr-uuids

Clear UUIDs

Usage
> clr-uuids
Example Clear all registered UUIDs
> clr-uuids


local-oob

Local OOB data

Usage
> local-oob
Example Generate and display local OOB authentication data
> local-oob


remote-oob

Remote OOB data

Usage
> remote-oob [-t <addr_type>] [-r <rand192>] [-h <hash192>] [-R <rand256>] [-H <hash256>] <addr>
[-t <addr_type>]
Address type (public, random, le_public, le_random)
[-r <rand192>]
P-192 random value (32 hexadecimal characters)
[-h <hash192>]
P-192 hash value (32 hexadecimal characters)
[-R <rand256>]
P-256 random value (64 hexadecimal characters)
[-H <hash256>]
P-256 hash value (64 hexadecimal characters)
<addr>
Remote device Bluetooth address
Example Set remote OOB data for device (minimal)
> remote-oob 00:11:22:33:44:55

Example Set P-192 random and hash values
> remote-oob -r 0123456789abcdef0123456789abcdef -h fedcba9876543210fedcba9876543210 00:11:22:33:44:55

Example Set P-256 random and hash values
> remote-oob -R 0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef -H fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210 AA:BB:CC:DD:EE:FF

Example Set OOB data for LE public address device
> remote-oob -t le_public 11:22:33:44:55:66

Example Set OOB data for LE random address device
> remote-oob -t le_random CC:DD:EE:FF:00:11

Example Set complete OOB data with both P-192 and P-256 values
> remote-oob -t public -r 0123456789abcdef0123456789abcdef -h fedcba9876543210fedcba9876543210 -R 0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef -H fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210 00:11:22:33:44:55


did

Set Device ID

Usage
> did <source>:<vendor>:<product>:<version>
<source>:<vendor>:<product>:<version>
Device ID in format source:vendor:product:version (all hexadecimal)
Example Set USB source with Linux Foundation vendor ID
> did 0x0002:0x1D6B:0x0001:0x0100

Example Set USB device with Cypress vendor ID
> did 0x0002:0x04B4:0x1234:0x0200

Example Set Bluetooth SIG source with Broadcom vendor
> did 0x0001:0x000F:0x0001:0x0100

Example Set Bluetooth SIG source with Apple vendor
> did 0x0001:0x004C:0x0001:0x0100

Example Set custom USB device ID
> did 0x0002:0xFFFF:0x1234:0x5678

Example Set Qualcomm Bluetooth device
> did 0x0001:0x05F1:0xABCD:0x0001


static-addr

Set static address

Usage
> static-addr <address>
<address>
Static random Bluetooth address (must have bits 47-46 set to 11)
Example Set static random address (bit 47=1, bit 46=1)
> static-addr C0:00:00:00:00:01

Example Set another static random address
> static-addr D0:11:22:33:44:55

Example Set different static address
> static-addr E0:AA:BB:CC:DD:EE


public-addr

Set public address

Usage
> public-addr <address>
<address>
Public Bluetooth address to set for the controller
Example Set public Bluetooth address
> public-addr 00:11:22:33:44:55

Example Set different public address
> public-addr AA:BB:CC:DD:EE:FF

Example Set custom public address
> public-addr 12:34:56:78:9A:BC


ext-config

External configuration

Usage
> ext-config <on/off>
<on/off>
External configuration - "on" to enable external config, "off" to disable
Example Enable external configuration
> ext-config on

Example Disable external configuration
> ext-config off


debug-keys

Toggle debug keys

Usage
> debug-keys <on/off>
<on/off>
Debug keys support - "on" to enable debug keys, "off" to disable
Example Enable debug key support
> debug-keys on

Example Disable debug key support
> debug-keys off


conn-info

Get connection information

Usage
> conn-info [-t type] <remote address>
[-t type]
Address type (public, random, le_public, le_random)
<remote address>
Bluetooth address of connected device
Example Get connection information for device
> conn-info 00:11:22:33:44:55

Example Get info for another device
> conn-info AA:BB:CC:DD:EE:FF

Example Get info for public address device
> conn-info -t public 00:11:22:33:44:55

Example Get info for LE public address device
> conn-info -t le_public 11:22:33:44:55:66

Example Get info for LE random address device
> conn-info -t le_random CC:DD:EE:FF:00:11


io-cap

Set IO Capability

Usage
> io-cap <cap>
<cap>
IO capability (DisplayOnly, DisplayYesNo, KeyboardOnly, NoInputNoOutput, KeyboardDisplay)
Example Set IO capability to display only
> io-cap DisplayOnly

Example Set IO capability to display with yes/no
> io-cap DisplayYesNo

Example Set IO capability to keyboard only
> io-cap KeyboardOnly

Example Set IO capability to no input/output
> io-cap NoInputNoOutput

Example Set IO capability to keyboard and display
> io-cap KeyboardDisplay


scan-params

Set Scan Parameters

Usage
> scan-params <interval> <window>
<interval>
Scan interval in hexadecimal (0x0004 to 0x4000, units of 0.625ms)
<window>
Scan window in hexadecimal (0x0004 to 0x4000, units of 0.625ms)
Example Set fast scan (16ms interval, 16ms window)
> scan-params 0x0010 0x0010

Example Set moderate fast scan (32ms interval, 32ms window)
> scan-params 0x0020 0x0020

Example Set balanced scan (96ms interval, 48ms window)
> scan-params 0x0060 0x0030

Example Set slow scan (256ms interval, 80ms window)
> scan-params 0x0100 0x0050

Example Set background scan (2.56s interval, 18ms window)
> scan-params 0x0800 0x0012

Example Set very slow background scan
> scan-params 0x1000 0x0020


get-clock

Get Clock Information

Usage
> get-clock [address]
[address]
Optional remote device Bluetooth address (omit for local clock)
Example Get local Bluetooth clock information
> get-clock

Example Get clock information for remote device
> get-clock 00:11:22:33:44:55

Example Get clock for another remote device
> get-clock AA:BB:CC:DD:EE:FF


add-device

Add Device

Usage
> add-device [-a action] [-t type] <address>
[-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)
<address>
Bluetooth address of device to add
Example Add device with auto-connect action and default type
> add-device 00:11:22:33:44:55

Example Add another device with defaults
> add-device AA:BB:CC:DD:EE:FF

Example Add device with auto-connect action
> add-device -a auto 00:11:22:33:44:55

Example Add device with allow-only action (no auto-connect)
> add-device -a allow 11:22:33:44:55:66

Example Add device with deny action (blocked)
> add-device -a deny CC:DD:EE:FF:00:11

Example Add device with public address type
> add-device -t public 00:11:22:33:44:55

Example Add device with random address type
> add-device -t random AA:BB:CC:DD:EE:FF

Example Add LE device with public address
> add-device -t le_public 11:22:33:44:55:66

Example Add LE device with random address
> add-device -t le_random CC:DD:EE:FF:00:11

Example Add LE public device with auto-connect
> add-device -a auto -t le_public 00:11:22:33:44:55

Example Add random address device with allow action
> add-device -a allow -t random AA:BB:CC:DD:EE:FF

Example Add LE random device with deny action
> add-device -a deny -t le_random CC:DD:EE:FF:00:11


del-device

Remove Device

Usage
> del-device [-t type] <address>
[-t type]
Address type (public, random, le_public, le_random)
<address>
Bluetooth address of device to remove
Example Remove device using default address type
> del-device 00:11:22:33:44:55

Example Remove another device
> del-device AA:BB:CC:DD:EE:FF

Example Remove device with public address type
> del-device -t public 00:11:22:33:44:55

Example Remove device with random address type
> del-device -t random AA:BB:CC:DD:EE:FF

Example Remove LE device with public address
> del-device -t le_public 11:22:33:44:55:66

Example Remove LE device with random address
> del-device -t le_random CC:DD:EE:FF:00:11


clr-devices

Clear Devices

Usage
> clr-devices
Example Clear all devices from the device list
> clr-devices


bredr-oob

Local OOB data (BR/EDR)

Usage
> bredr-oob
Example Generate and display local BR/EDR OOB authentication data
> bredr-oob


le-oob

Local OOB data (LE)

Usage
> le-oob
Example Generate and display local LE OOB authentication data
> le-oob


advinfo

Show advertising features

Usage
> advinfo
Example Display advertising capabilities and supported features
> advinfo


advsize

Show advertising size info

Usage
> advsize [options] <instance_id>
[options]
Advertising options flags
<instance_id>
Advertising instance identifier (0-based)
Example Show advertising data size information for instance 0
> advsize 0

Example Show size information for advertising instance 1
> advsize 1

Example Show size information for advertising instance 5
> advsize 5


add-adv

Add advertising instance

Usage
> add-adv [options] <instance_id>
[options]
Advertising options (-c connectable, -s scannable, -g general discoverable, -l limited discoverable, -m managed flags, -p TX power)
<instance_id>
Advertising instance identifier (0-based)
Example Add advertising instance 0 with default settings
> add-adv 0

Example Add advertising instance 1
> add-adv 1

Example Add advertising instance 5
> add-adv 5

Example Add connectable advertising instance 0
> add-adv -c 0

Example Add scannable advertising instance 1
> add-adv -s 1

Example Add general discoverable advertising instance 2
> add-adv -g 2

Example Add limited discoverable advertising instance 3
> add-adv -l 3

Example Add managed flags advertising instance 4
> add-adv -m 4

Example Add TX power advertising instance 5
> add-adv -p 5

Example Add connectable and scannable advertising instance
> add-adv -c -s 0

Example Add general discoverable with TX power
> add-adv -g -p 1

Example Add connectable, general discoverable, and scannable
> add-adv -c -g -s 2


rm-adv

Remove advertising instance

Usage
> rm-adv <instance_id>
<instance_id>
Advertising instance identifier (0-based) to remove
Example Remove advertising instance 0
> rm-adv 0

Example Remove advertising instance 1
> rm-adv 1

Example Remove advertising instance 5
> rm-adv 5


clr-adv

Clear advertising instances

Usage
> clr-adv
Example Clear all advertising instances
> clr-adv


add-ext-adv-params

Add extended advertising params

Usage
> add-ext-adv-params [options] <instance_id>
[options]
Extended advertising options (-c connectable, -s scannable, -d directed, -h high duty cycle, -l legacy PDU, -a anonymous, -i include TX power)
<instance_id>
Extended advertising instance identifier (0-based)
Example Add extended advertising parameters for instance 0
> add-ext-adv-params 0

Example Add extended advertising parameters for instance 1
> add-ext-adv-params 1

Example Add connectable extended advertising for instance 0
> add-ext-adv-params -c 0

Example Add scannable extended advertising for instance 1
> add-ext-adv-params -s 1

Example Add directed extended advertising for instance 2
> add-ext-adv-params -d 2

Example Add high duty cycle extended advertising for instance 3
> add-ext-adv-params -h 3

Example Add legacy PDU extended advertising for instance 4
> add-ext-adv-params -l 4

Example Add anonymous extended advertising for instance 5
> add-ext-adv-params -a 5

Example Add include TX power extended advertising for instance 6
> add-ext-adv-params -i 6

Example Add connectable and scannable extended advertising
> add-ext-adv-params -c -s 0

Example Add connectable extended advertising with TX power
> add-ext-adv-params -c -i 1

Example Add scannable legacy PDU extended advertising
> add-ext-adv-params -s -l 2


add-ext-adv-data

Add extended advertising data

Usage
> add-ext-adv-data [options] <instance_id>
[options]
Data options (-s for scan response data, -c for complete data)
<instance_id>
Extended advertising instance identifier (0-based)
Example Add advertising data to extended instance 0
> add-ext-adv-data 0

Example Add advertising data to extended instance 1
> add-ext-adv-data 1

Example Add scan response data to extended instance 0
> add-ext-adv-data -s 0

Example Add scan response data to extended instance 1
> add-ext-adv-data -s 1

Example Add complete advertising data to instance 0
> add-ext-adv-data -c 0

Example Add complete scan response data to instance 1
> add-ext-adv-data -c -s 1


appearance

Set appearance

Usage
> appearance <appearance>
<appearance>
Appearance value (16-bit integer) representing device type
Example Set appearance to Unknown
> appearance 0

Example Set appearance to Generic Phone
> appearance 64

Example Set appearance to Generic Computer
> appearance 128

Example Set appearance to Generic Audio/Video device
> appearance 832

Example Set appearance to Speaker
> appearance 833

Example Set appearance to Microphone
> appearance 834

Example Set appearance to Headset
> appearance 835

Example Set appearance to Headphones
> appearance 836

Example Set appearance to Generic HID
> appearance 960

Example Set appearance to Keyboard
> appearance 961

Example Set appearance to Mouse
> appearance 962

Example Set appearance to Joystick
> appearance 963

Example Set appearance to Generic Health Sensor
> appearance 1344

Example Set appearance to Heart Rate Sensor
> appearance 1345

Example Set appearance to Blood Pressure Monitor
> appearance 1346

Example Set appearance to Generic Sports and Fitness
> appearance 1472

Example Set appearance to Location Display
> appearance 1473

Example Set appearance to Location Navigation Display
> appearance 1474


phy

Get/Set PHY Configuration

Usage
> 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
> phy

Example Enable LE 1M TX PHY
> phy LE1MTX

Example Enable LE 1M RX PHY
> phy LE1MRX

Example Enable LE 2M TX PHY
> phy LE2MTX

Example Enable LE 2M RX PHY
> phy LE2MRX

Example Enable LE Coded TX PHY
> phy LECODEDTX

Example Enable LE Coded RX PHY
> phy LECODEDRX

Example Enable BR 1M 1-slot packets
> phy BR1M1SLOT

Example Enable BR 1M 3-slot packets
> phy BR1M3SLOT

Example Enable BR 1M 5-slot packets
> phy BR1M5SLOT

Example Enable EDR 2M 1-slot packets
> phy EDR2M1SLOT

Example Enable EDR 2M 3-slot packets
> phy EDR2M3SLOT

Example Enable EDR 2M 5-slot packets
> phy EDR2M5SLOT

Example Enable EDR 3M 1-slot packets
> phy EDR3M1SLOT

Example Enable EDR 3M 3-slot packets
> phy EDR3M3SLOT

Example Enable EDR 3M 5-slot packets
> phy EDR3M5SLOT

Example Enable LE 1M TX and RX PHYs
> phy LE1MTX LE1MRX

Example Enable LE 1M and 2M TX/RX PHYs
> phy LE1MTX LE1MRX LE2MTX LE2MRX

Example Enable 1-slot packets for all BR/EDR PHYs
> phy BR1M1SLOT EDR2M1SLOT EDR3M1SLOT


wbs

Toggle Wideband-Speech support

Usage
> wbs <on/off>
<on/off>
Wideband Speech support - "on" to enable for audio profiles, "off" to disable
Example Enable Wideband Speech support for audio profiles
> wbs on

Example Disable Wideband Speech support
> wbs off


secinfo

Show security information

Usage
> secinfo
Example Display security features and capabilities
> secinfo


expinfo

Show experimental features

Usage
> expinfo
Example Display available experimental features and their status
> expinfo


exp-debug

Set debug feature

Usage
> exp-debug <on/off>
<on/off>
Experimental debug features - "on" to enable, "off" to disable
Example Enable experimental debug features
> exp-debug on

Example Disable experimental debug features
> exp-debug off


exp-privacy

Set LL privacy feature

Usage
> exp-privacy <on/off>
<on/off>
Experimental Link Layer privacy - "on" to enable LL privacy features, "off" to disable
Example Enable experimental Link Layer privacy features
> exp-privacy on

Example Disable experimental Link Layer privacy features
> exp-privacy off


exp-quality

Set bluetooth quality report feature

Usage
> exp-quality <on/off>
<on/off>
Experimental quality reporting - "on" to enable Bluetooth quality reports, "off" to disable
Example Enable experimental Bluetooth quality reporting
> exp-quality on

Example Disable experimental Bluetooth quality reporting
> exp-quality off


exp-offload

Toggle codec support

Usage
> exp-offload <on/off>
<on/off>
Experimental codec offload - "on" to enable codec offload support, "off" to disable
Example Enable experimental codec offload support
> exp-offload on

Example Disable experimental codec offload support
> exp-offload off


read-sysconfig

Read System Configuration

Usage
> read-sysconfig
Example Read current system configuration parameters
> read-sysconfig


set-sysconfig

Set System Configuration

Usage
> set-sysconfig <-v|-h> [options...]
<-v|-h>
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
> set-sysconfig -h

Example Set system configuration with verbose output
> set-sysconfig -v

Example Set BR/EDR page scan type with verbose output
> set-sysconfig -v --br-page-scan-type=0

Example Set BR/EDR page scan interval
> set-sysconfig -v --br-page-scan-interval=0x800

Example Set BR/EDR page scan window
> set-sysconfig -v --br-page-scan-window=0x12

Example Set BR/EDR inquiry scan type
> set-sysconfig -v --br-inquiry-scan-type=0

Example Set BR/EDR link supervision timeout
> set-sysconfig -v --br-link-supervision-timeout=0x2000

Example Set LE minimum connection interval
> set-sysconfig -v --le-min-connection-interval=0x18

Example Set LE maximum connection interval
> set-sysconfig -v --le-max-connection-interval=0x28

Example Set multiple BR/EDR scan parameters
> set-sysconfig -v --br-page-scan-type=0 --br-page-scan-interval=0x800 --br-page-scan-window=0x12

Example Set multiple LE connection parameters
> set-sysconfig -v --le-min-connection-interval=0x18 --le-max-connection-interval=0x28 --le-connection-latency=0


get-flags

Get device flags

Usage
> get-flags [-t type] <address>
[-t type]
Address type (public, random, le_public, le_random)
<address>
Bluetooth address of device to query flags for
Example Get device flags for device using default type
> get-flags 00:11:22:33:44:55

Example Get flags for another device
> get-flags AA:BB:CC:DD:EE:FF

Example Get flags for public address device
> get-flags -t public 00:11:22:33:44:55

Example Get flags for random address device
> get-flags -t random AA:BB:CC:DD:EE:FF

Example Get flags for LE public address device
> get-flags -t le_public 11:22:33:44:55:66

Example Get flags for LE random address device
> get-flags -t le_random CC:DD:EE:FF:00:11


set-flags

Set device flags

Usage
> set-flags [-f flags] [-t type] <address>
[-f flags]
Device flags bitmask in hexadecimal (0x01=remote wake, 0x02=privacy)
[-t type]
Address type (public, random, le_public, le_random)
<address>
Bluetooth address of device to set flags for
Example Set default flags for device
> set-flags 00:11:22:33:44:55

Example Set default flags for another device
> set-flags AA:BB:CC:DD:EE:FF

Example Set remote wake flag for device
> set-flags -f 0x01 00:11:22:33:44:55

Example Set device privacy flag
> set-flags -f 0x02 AA:BB:CC:DD:EE:FF

Example Set both remote wake and privacy flags
> set-flags -f 0x03 11:22:33:44:55:66

Example Set remote wake for public address device
> set-flags -f 0x01 -t public 00:11:22:33:44:55

Example Set privacy flag for LE public device
> set-flags -f 0x02 -t le_public 11:22:33:44:55:66

Example Set multiple flags for LE random device
> set-flags -f 0x03 -t le_random CC:DD:EE:FF:00:11

Example Clear all flags for device
> set-flags -f 0x00 00:11:22:33:44:55

Example Clear all flags for LE public device
> set-flags -f 0x00 -t le_public 11:22:33:44:55:66


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).

July 2023 BlueZ