bluetoothctl-endpoint - Man Page
Endpoint Submenu
Synopsis
bluetoothctl [--options] [endpoint.commands]
This submenu manages media endpoints for audio streaming using the org.bluez.MediaEndpoint(5) and org.bluez.Media(5) interfaces.
Endpoint Commands
list
List available endpoints.
- Usage
> list [local]
- [local]
Only show locally registered endpoints (optional, shows all if omitted)
- Example List all available endpoints (local and remote)
> list
- Example List only locally registered endpoints
> list local
show
Endpoint information.
- Usage
> show [endpoint]
- Uses
org.bluez.MediaEndpoint(5) properties
- [endpoint]
Path to specific endpoint to display (optional, shows current selection if omitted)
- Example Show information for currently selected endpoint
> show
- Example Show local endpoint information
> show /local/endpoint/ep0
- Example Show remote endpoint information
> show /org/bluez/hci0/dev_00_11_22_33_44_55/ep1
- Example Show another local endpoint
> show /local/endpoint/ep1
register
Register Endpoint.
- Usage
> register <UUID> <codec[:company]> [capabilities...]
- Uses
org.bluez.Media(5) method RegisterEndpoint
- <UUID>
Bluetooth service UUID for the endpoint type (required)
- <codec[:company]>
Codec ID in hex format, optionally with company ID (required)
- [capabilities...]
Optional codec-specific capability data in hex format
- Example LC3 BAP source
>endpoint.register 00002bcb-0000-1000-8000-00805f9b34fb 0x06 >Auto Accept (yes/no): y >Max Transports (auto/value): a >Locations: a >Supported Context (value): 3 >Context (value): 3 >CIG (auto/value): a >CIS (auto/value): a
- Example LC3 BAP sink with extra capabilities
>endpoint.register 00002bc9-0000-1000-8000-00805f9b34fb 0x06 "0x03 0xe5 0x03 0x00 0x02 0xe6 0x07" >Enter Metadata (value/no): n >Auto Accept (yes/no): y >Max Transports (auto/value): a >Locations: a >Supported Context (value): 3 >Context (value): 3 >CIG (auto/value): a >CIS (auto/value): a
- Example LC3 BAP Broadcast source
>endpoint.register 00001852-0000-1000-8000-00805f9b34fb 0x06 >Auto Accept (yes/no): y >Max Transports (auto/value): a >Locations: 3 >Supported Context (value): 1
- Example LC3 BAP Broadcast sink
>endpoint.register 00001851-0000-1000-8000-00805f9b34fb 0x06 >Auto Accept (yes/no): y >Max Transports (auto/value): a >Locations: 3 >Supported Context (value): 1
Note:
If running the setup with an audio server that has LE Audio support (such as PipeWire) it will automatically register endpoints according to the configured roles. For more details about configuring a Broadcast Source with PipeWire check: <https://gitlab.freedesktop.org/pipewire/pipewire/-/blob/master/doc/dox/config/pipewire-props.7.md>
unregister
Unregister Endpoint.
- Usage
> unregister <UUID/object>
- Uses
org.bluez.Media(5) method UnregisterEndpoint
- <UUID/object>
Either the service UUID or the object path of the endpoint to unregister
- Example Unregister LC3 source endpoint by UUID
> unregister 00002bcb-0000-1000-8000-00805f9b34fb
- Example Unregister LC3 sink endpoint by UUID
> unregister 00002bc9-0000-1000-8000-00805f9b34fb
- Example Unregister broadcast source endpoint by UUID
> unregister 00001852-0000-1000-8000-00805f9b34fb
- Example Unregister broadcast sink endpoint by UUID
> unregister 00001851-0000-1000-8000-00805f9b34fb
- Example Unregister endpoint by object path
> unregister /local/endpoint/ep0
- Example Unregister another endpoint by object path
> unregister /local/endpoint/ep1
- Example Unregister source endpoint by path
> unregister /local/endpoint/source0
- Example Unregister sink endpoint by path
> unregister /local/endpoint/sink0
Note:
If the endpoint was registered by an audio server, it can't be unregistered from bluetoothctl. This must be done by the audio server as well.
config
Configure Endpoint.
- Usage
> config <endpoint> <local endpoint> [preset]
- Uses
org.bluez.MediaEndpoint(5) method SetConfiguration
- <endpoint>
Path to the remote endpoint to configure
- <local endpoint>
Path to the local endpoint to use for the configuration
- [preset]
Audio quality preset name (optional, auto-detected if omitted)
- Example Configure remote endpoint with local endpoint (auto preset)
> config /org/bluez/hci0/dev_00_11_22_33_44_55/ep0 /local/endpoint/ep0
- Example Configure LE Audio Unicast with BAP setting 32_1_1
> config /org/bluez/hci0/dev_00_11_22_33_44_55/ep0 /local/endpoint/ep0 32_1_1
- Example Configure LE Audio Broadcast Source
> config /org/bluez/hci0/dev_00_11_22_33_44_55/bis0 /local/endpoint/broadcast0
Note:
If the endpoint was registered by an audio server, it can't be configured from bluetoothctl. This must be done by the audio server as well.
presets
List available presets.
- Usage
> presets <endpoint>/<UUID> [codec[:company]] [preset] [codec config] [metadata]
- <endpoint>/<UUID>
Either endpoint path or service UUID to work with presets
- [codec[:company]]
Codec ID with optional company identifier
- [preset]
Preset name to display details or create custom preset
- [codec config]
Custom codec configuration data in hex format
- [metadata]
Additional metadata for the preset
- Example using endpoint
>presets /local/endpoint/ep0 32_1_1 >presets /local/endpoint/ep0 Preset 32_1_1 Configuration.**>0: len 0x02 type 0x01 Configuration.Sampling Frequency: 32 Khz (0x06) Configuration.**>1: len 0x02 type 0x02 Configuration.Frame Duration: 7.5 ms (0x00) Configuration.**>2: len 0x03 type 0x04 Configuration.Frame Length: 60 (0x003c)
- Example List all available presets for local endpoint
>presets /local/endpoint/ep0
- Example List all presets for another endpoint
>presets /local/endpoint/ep1
- Example using UUID
>presets 00002bc9-0000-1000-8000-00805f9b34fb 0x06 32_1_1 >presets 00002bc9-0000-1000-8000-00805f9b34fb 0x06 ... *32_1_1
- Example List all LC3 sink presets
>presets 00002bc9-0000-1000-8000-00805f9b34fb 0x06
- Example List all LC3 source presets
>presets 00002bcb-0000-1000-8000-00805f9b34fb 0x06
- Example List all broadcast source presets
>presets 00001852-0000-1000-8000-00805f9b34fb 0x06
- Example List all broadcast sink presets
>presets 00001851-0000-1000-8000-00805f9b34fb 0x06
- Example Show details for 48kHz stereo preset
>presets 00002bc9-0000-1000-8000-00805f9b34fb 0x06 48_2_1
- Example Show details for 24kHz mono high-quality preset
>presets 00002bc9-0000-1000-8000-00805f9b34fb 0x06 24_1_2
- Example Show details for 16kHz mono preset
>presets 00002bc9-0000-1000-8000-00805f9b34fb 0x06 16_1_1
- Example setting up LC3 custom preset
>presets 00002bc9-0000-1000-8000-00805f9b34fb 0x06 custom >[Codec] Enter frequency (Khz): 48 >[Codec] Enter frame duration (ms): 10 >[Codec] Enter channel allocation: 3 >[Codec] Enter frame length: 100 >[QoS] Enter Target Latency (Low, Balance, High): Low >[QoS] Enter SDU Interval (us): 1000 >[QoS] Enter Framing (Unframed, Framed): Unframed >[QoS] Enter PHY (1M, 2M): 2M >[QoS] Enter Max SDU: 200 >[QoS] Enter RTN: 3 >[QoS] Enter Max Transport Latency (ms): 10 >[QoS] Enter Presentation Delay (us): 20000 >presets 00002bc9-0000-1000-8000-00805f9b34fb 0x06 ... *custom
- Example setting up LC3 custom preset with extra configuration
>presets 00002bc9-0000-1000-8000-00805f9b34fb 0x06 custom "0x03 0xe8 0x00 0x00 0x02 0xe9 0x00" >[Codec] Enter frequency (Khz): 48 >[Codec] Enter frame duration (ms): 10 >[Codec] Enter channel allocation: 3 >[Codec] Enter frame length: 100 >[QoS] Enter Target Latency (Low, Balance, High): Low >[QoS] Enter SDU Interval (us): 1000 >[QoS] Enter Framing (Unframed, Framed): Unframed >[QoS] Enter PHY (1M, 2M): 2M >[QoS] Enter Max SDU: 200 >[QoS] Enter RTN: 3 >[QoS] Enter Max Transport Latency (ms): 10 >[QoS] Enter Presentation Delay (us): 20000 >presets 00002bc9-0000-1000-8000-00805f9b34fb 0x06 ... *custom
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).
Referenced By
bluetoothctl(1), org.bluez.Media(5), org.bluez.MediaEndpoint(5).