bluetoothctl-mgmt - Man Page
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
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).