bluetoothctl-mgmtπŸ”—

Management SubmenuπŸ”—

Version:

BlueZ

Copyright:

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

Date:

July 2023

Manual section:

1

Manual group:

Linux System Administration

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

exp-isoπŸ”—

Toggle ISO Socket support

Usage:

> exp-iso <on/off>

<on/off>:

Experimental ISO Socket support - β€œon” to enable ISO Socket support, β€œoff” to disable

Example Enable experimental ISO Socket support:
> exp-offload on
Example Disable experimental ISO Socket 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