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