BLUETOOTHCTL-MGMT(1)
πΈ NAME
Okay bestie, this is the manual page for bluetoothctl-mgmt β the BLUETOOTHCTL-MGMT(1) management-submenu one from the Linux System Administration section β and its whole name is literally Management Submenu. Slay.
β¨ 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. It's giving direct-line-to-the-kernel energy, no middleman vibes. π
π MGMT COMMANDS
π select
Select a different index.
Usage
Usage > select <index>
<index>β Controller index number (0-based) to select. Bestie, the count starts at zero, that's just the rule. β¨
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
Usage > revision
Example β Display MGMT API revision information
> revision
π commands
List supported commands.
Usage
Usage > commands
Example β List all supported management commands
> commands
βοΈ config
Show configuration info.
Usage
Usage > config
Example β Show current controller configuration
> config
π info
Show controller info.
Usage
Usage > info
Example β Show detailed controller information
> info
π¦ extinfo
Show extended controller info.
Usage
Usage > extinfo
Example β Show extended controller information
> extinfo
π₯ auto-power
Power all available features.
Usage
Usage > auto-power
Example β Automatically power on all available controller features
> auto-power
π«Ά power
Toggle powered state.
Usage
Usage > power <on/off>
<on/off>β Power state:onto enable the controller,offto disable it. Very choose-your-own-adventure. π
Example β Power on the controller
> power on
Example β Power off the controller
> power off
π discov
Toggle discoverable state.
Usage
Usage > discov <yes/no/limited> [timeout]
<yes/no/limited>β Discoverable mode:yesfor general,noto disable,limitedfor limited discoverable. Pick your vibe. β¨[timeout]β Optional timeout in seconds for discoverable mode duration. So it can clock out on its own. β³
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
Usage > connectable <on/off>
<on/off>β Connectable state:onto allow connections,offto reject. Boundaries, bestie. πͺβ¨
Example β Make controller connectable
> connectable on
Example β Make controller non-connectable
> connectable off
β‘ fast-conn
Toggle fast connectable state.
Usage
Usage > fast-conn <on/off>
<on/off>β Fast connectable state:onto enable fast connection mode,offto disable. Speedy vibes only. π₯
Example β Enable fast connectable mode
> fast-conn on
Example β Disable fast connectable mode
> fast-conn off
π« bondable
Toggle bondable state.
Usage
Usage > bondable <on/off>
<on/off>β Bondable state:onto enable bonding capability,offto disable. Make it make sense. π
Example β Enable bonding capability
> bondable on
Example β Disable bonding capability
> bondable off
π pairable
Toggle bondable state. Yes, that's the label the page gives this one; the arg below is all about pairable, bestie. π
Usage
Usage > pairable <on/off>
<on/off>β Pairable state:onto enable pairing capability,offto disable. Pairing permissions, periodt. β¨
Example β Enable pairing capability
> pairable on
Example β Disable pairing capability
> pairable off
π linksec
Toggle link level security.
Usage
Usage > linksec <on/off>
<on/off>β Link level security:onto enable,offto disable. Security check, but make it link-level. π
Example β Enable link level security
> linksec on
Example β Disable link level security
> linksec off
π ssp
Toggle SSP mode.
Usage
Usage > ssp <on/off>
<on/off>β Secure Simple Pairing mode:onto enable SSP,offto disable. Iconic acronym behavior. π
Example β Enable Secure Simple Pairing
> ssp on
Example β Disable Secure Simple Pairing
> ssp off
π¦ sc
Toggle SC support.
Usage
Usage > sc <on/off/only>
<on/off/only>β Secure Connections support:onto enable,offto disable,onlyfor exclusive use. Exclusive-use energy, iykyk. π
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
Usage > hs <on/off>
<on/off>β High Speed support:onto enable 802.11 High Speed,offto disable. Zoom zoom. π₯
Example β Enable High Speed support
> hs on
Example β Disable High Speed support
> hs off
π± le
Toggle LE support.
Usage
Usage > le <on/off>
<on/off>β Low Energy support:onto enable LE functionality,offto disable. Low energy, high impact. β¨
Example β Enable Low Energy support
> le on
Example β Disable Low Energy support
> le off
π£ advertising
Toggle LE advertising.
Usage
Usage > advertising <on/off>
<on/off>β LE advertising state:onto enable advertising,offto disable. It's giving main character announcement energy. π
Example β Enable LE advertising
> advertising on
Example β Disable LE advertising
> advertising off
π§ bredr
Toggle BR/EDR support.
Usage
Usage > bredr <on/off>
<on/off>β BR/EDR support:onto enable Classic Bluetooth,offto disable. Classic Bluetooth stays iconic. π
Example β Enable BR/EDR (Classic Bluetooth) support
> bredr on
Example β Disable BR/EDR support
> bredr off
π΅οΈ privacy
Toggle privacy support.
Usage
Usage > privacy <on/off> [irk]
<on/off>β Privacy support:onto enable privacy features,offto disable. Private mode: activated. π«Ά[irk]β Optional 32-character hexadecimal Identity Resolving Key. Exactly 32 hex characters, no cap. π
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
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
Usage > disconnect [-t type] <remote address>
[-t type]β Optional address type (public,random,le_public,le_random). Pick the address vibe. β¨<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
Usage > con
Example β List all active connections
> con
π find
Discover nearby devices.
Usage
Usage > find [-l|-b] [-L]
[-l|-b]β Discovery type:-lfor LE only,-bfor BR/EDR only (default: both). Both is the default, bestie. π[-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
Usage > find-service [-u UUID] [-r RSSI_Threshold] [-l|-b]
[-u UUID]β Service UUID to search for (16-bit, 32-bit, or 128-bit). UUID hunt: activated. π[-r RSSI_Threshold]β Minimum RSSI value in dBm for device filtering. Signal strength gatekeeping. πΆ[-l|-b]β Discovery type:-lfor LE only,-bfor 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
Usage > stop-find [-l|-b]
[-l|-b]β Discovery type to stop:-lfor LE only,-bfor BR/EDR only (default: all). Stop everything unless you say otherwise. β
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
Usage > name <name> [shortname]
<name>β Complete local name for the controller.[shortname]β Optional shortened local name. Cute little nickname energy. π- 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
Bestie, this is the "make friends with the other device" command β pair with a remote device, fr fr.
Usage:
> pair [-c cap] [-t type] <remote address>
-c capβ IO capability. Pick one of:DisplayOnly,DisplayYesNo,KeyboardOnly,NoInputNoOutput,KeyboardDisplay-t typeβ Address type. Options arepublic,random,le_public,le_random<remote address>β the Bluetooth address of the device you wanna pair with π
Examples, get you some:
- 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
Changed your mind mid-pair? Iconic. This cancels the pairing.
Usage:
> cancelpair [-t type] <remote address>
-t typeβ Address type:public,random,le_public,le_random<remote address>β the Bluetooth address of the device to cancel pairing with
Examples:
- 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
The full breakup π β this one removes the pairing for real.
Usage:
> unpair [-t type] <remote address>
-t typeβ Address type:public,random,le_public,le_random<remote address>β the Bluetooth address of the device to unpair
Examples:
- 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 β that's it, that's the whole vibe.
Usage:
> keys
- Example: Load stored link keys
> keys
ποΈ ltks
Load Long Term Keys. Same energy, LE flavored β¨
Usage:
> ltks
- Example: Load stored LE long term keys
> ltks
π§ irks
Load Identity Resolving Keys β and yes you can point it at a specific controller and a specific file, obsessed.
Usage:
> irks [--local index] [--file file path]
--local indexβ which local controller index to use--file file pathβ path to a custom IRK configuration file
Examples:
- 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 β like soft-blocking an ex, but for real.
Usage:
> block [-t type] <remote address>
-t typeβ Address type:public,random,le_public,le_random<remote address>β the Bluetooth address of the device to block
Examples:
- 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 β forgiveness era πΈ
Usage:
> unblock [-t type] <remote address>
-t typeβ Address type:public,random,le_public,le_random<remote address>β the Bluetooth address of the device to unblock
Examples:
- 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 β registering a service, main character registration energy.
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)
Examples:
- 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 β one singular service gets yeeted.
Usage:
> rm-uuid <UUID>
<UUID>β Service UUID to remove (16-bit, 32-bit, or 128-bit format)
Examples:
- 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 β the clean slate moment β¨
Usage:
> clr-uuids
- Example: Clear all registered UUIDs
> clr-uuids
β local-oob
Local OOB data β generate your own out-of-band authentication data.
Usage:
> local-oob
- Example: Generate and display local OOB authentication data
> local-oob
π remote-oob
Remote OOB data β feeding in the other device's out-of-band goodies. Look at all these flags, bestie π
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
Examples:
- 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 β four hex fields, colon-separated, no spaces allowed in your feelings.
Usage:
> did <source>:<vendor>:<product>:<version>
<source>:<vendor>:<product>:<version>β Device ID in formatsource:vendor:product:version(all hexadecimal)
Examples:
- 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 β a static random Bluetooth address for the controller.
Usage:
> static-addr <address>
<address>β Static random Bluetooth address (must have bits 47-46 set to 11)
β οΈ Heads up bestie: those top bits are not optional. Bits 47-46 gotta be 11 or it's not a valid static random address, periodt.
Examples:
- 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 β swap out the controller's public Bluetooth address.
Usage:
> public-addr <address>
<address>β Public Bluetooth address to set for the controller
Examples:
- 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 β flip it on, flip it off, that's the whole job.
Usage:
> ext-config <on/off>
<on/off>β External configuration β"on"to enable external config,"off"to disable
Examples:
- 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, bestie:"on"enables debug keys,"off"disables them. Simple as that π- Example Enable debug key support:
> debug-keys on - Example Disable debug key support:
> debug-keys off
conn-info π β get the connection tea
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 the 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 πΈ β scan timing vibes
Usage > scan-params <interval> <window>
<interval>β scan interval in hexadecimal (0x0004to0x4000, units of0.625ms)<window>β scan window in hexadecimal (0x0004to0x4000, units of0.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 β° β clock info, local or remote
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 a device to the list
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 a 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 the whole device list
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 β¨ β advertising features, revealed
Usage > advinfo
- Example Display advertising capabilities and supported features:
> advinfo
advsize π β 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 an advertising instance
Usage > add-adv [options] <instance_id>
[options]β advertising options (-cconnectable,-sscannable,-ggeneral discoverable,-llimited discoverable,-mmanaged flags,-pTX 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 an 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 all advertising instances
Usage > clr-adv
- Example Clear all advertising instances:
> clr-adv
add-ext-adv-params π§ β extended advertising params
Usage > add-ext-adv-params [options] <instance_id>
[options]β extended advertising options (-cconnectable,-sscannable,-ddirected,-hhigh duty cycle,-llegacy PDU,-aanonymous,-iinclude 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 π β extended advertising data
Usage > add-ext-adv-data [options] <instance_id>
[options]β data options (-sfor scan response data,-cfor 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 the appearance value
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
okay so, the rest of the appearance examples β same exact numbers, same main-character energy:
- 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. This one is basically the PHY flag buffet, bestie.
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. Cute little on/off moment.
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. The receipts, basically.
Usage:
> secinfo
- Example Display security features and capabilities β
> secinfo
π§ͺ expinfo π§ͺ
Show experimental features. The lab-notebook vibe.
Usage:
> expinfo
- Example Display available experimental features and their status β
> expinfo
π οΈ exp-debug π οΈ
Set debug feature. Flipping the tiny debug switch.
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. Very stealth, very demure.
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. Quality check energy.
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. Codec offload said let me handle it.
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. ISO socket girlie reporting for duty.
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
bestie, yes β those examples literally sayexp-offloadeven in theexp-isosection. Copy them exactly as written, no editing, no cap.
π read-sysconfig π
Read System Configuration. Just reading the room, system-config style.
Usage:
> read-sysconfig
- Example Read current system configuration parameters β
> read-sysconfig
βοΈ set-sysconfig βοΈ
Set System Configuration. This is the big config slay.
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. Little flag check-in for your device.
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. Now we're assigning the flags, very decisive.
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
π conn-subrate π
Load Connection Subrate. Subrate loading, but make it iconic.
Usage:
> conn-subrate [-t type] <address> <min_interval> <max_interval>
<subrate_min> <subrate_max> <max_latency> <cont_num>
<supv_timeout>
[-t type]β Address type β1for LE Public,2for LE Random<address>β Bluetooth address of the device<min_interval>β Minimum connection interval (units of0.125 ms)<max_interval>β Maximum connection interval (units of0.125 ms)<subrate_min>β Minimum subrate factor<subrate_max>β Maximum subrate factor<max_latency>β Maximum peripheral latency (subrated connection events)<cont_num>β Continuation number<supv_timeout>β Supervision timeout (units of10 ms)- Example Load subrate for LE public address device β
> conn-subrate -t 1 00:11:22:33:44:55 8 3200 1 4 0 2 200 - Example Load subrate for LE random address device β
> conn-subrate -t 2 AA:BB:CC:DD:EE:FF 16 1600 2 8 0 4 100
π RESOURCES π
π«Ά REPORTING BUGS π«Ά
linux-bluetooth@vger.kernel.org
π COPYRIGHT π
the legal tea, exactly: Free use of this software is granted under the terms of the GNU Lesser General Public Licenses (LGPL).
this page is from BlueZ, July 2023, and it's BLUETOOTHCTL-MGMT(1) β periodt. π
β¨π¦
π¦ where this page comes from
- centos-stream 9: bluez 5.87+2.git8750129efca8-1.el9 Β· GPLv2+
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms