list
List available endpoints.
Usage#list[local]show
Endpoint information.
Usage#show[endpoint]register
Register Endpoint.
Usage#register<UUID><codec[:company]>[capabilities...]ExampleLC3BAPsource#endpoint.register00002bcb-0000-1000-8000-00805f9b34fb0x06#AutoAccept(yes/no): y
#MaxTransports(auto/value): a
#Locations: a
#SupportedContext(value): 3
#Context(value): 3
#CIG(auto/value): a
#CIS(auto/value): a
ExampleLC3BAPsinkwithextracapabilities#endpoint.register00002bc9-0000-1000-8000-00805f9b34fb0x06"0x030xe50x030x000x020xe60x07"#EnterMetadata(value/no): n
#AutoAccept(yes/no): y
#MaxTransports(auto/value): a
#Locations: a
#SupportedContext(value): 3
#Context(value): 3
#CIG(auto/value): a
#CIS(auto/value): a
ExampleLC3BAPBroadcastsource#endpoint.register00001852-0000-1000-8000-00805f9b34fb0x06#AutoAccept(yes/no): y
#MaxTransports(auto/value): a
#Locations: 3
#SupportedContext(value): 1
ExampleLC3BAPBroadcastsink#endpoint.register00001851-0000-1000-8000-00805f9b34fb0x06#AutoAccept(yes/no): y
#MaxTransports(auto/value): a
#Locations: 3
#SupportedContext(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>
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><localendpoint>[preset]
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][codecconfig][metadata]Exampleusingendpoint#presets/local/endpoint/ep032_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)
ExampleusingUUID#presets00002bc9-0000-1000-8000-00805f9b34fb0x0632_1_1#presets00002bc9-0000-1000-8000-00805f9b34fb0x06
...
*32_1_1ExamplesettingupLC3custompreset#presets00002bc9-0000-1000-8000-00805f9b34fb0x06custom#[Codec]Enterfrequency(Khz): 48
#[Codec]Enterframeduration(ms): 10
#[Codec]Enterchannelallocation: 3
#[Codec]Enterframelength: 100
#[QoS]EnterTargetLatency(Low,Balance,High): Low
#[QoS]EnterSDUInterval(us): 1000
#[QoS]EnterFraming(Unframed,Framed): Unframed
#[QoS]EnterPHY(1M,2M): 2M
#[QoS]EnterMaxSDU: 200
#[QoS]EnterRTN: 3
#[QoS]EnterMaxTransportLatency(ms): 10
#[QoS]EnterPresentationDelay(us): 20000
#presets00002bc9-0000-1000-8000-00805f9b34fb0x06
...
*customExamplesettingupLC3custompresetwithextraconfiguration#presets00002bc9-0000-1000-8000-00805f9b34fb0x06custom"0x030xe80x000x000x020xe90x00"#[Codec]Enterfrequency(Khz): 48
#[Codec]Enterframeduration(ms): 10
#[Codec]Enterchannelallocation: 3
#[Codec]Enterframelength: 100
#[QoS]EnterTargetLatency(Low,Balance,High): Low
#[QoS]EnterSDUInterval(us): 1000
#[QoS]EnterFraming(Unframed,Framed): Unframed
#[QoS]EnterPHY(1M,2M): 2M
#[QoS]EnterMaxSDU: 200
#[QoS]EnterRTN: 3
#[QoS]EnterMaxTransportLatency(ms): 10
#[QoS]EnterPresentationDelay(us): 20000
#presets00002bc9-0000-1000-8000-00805f9b34fb0x06
...
*custom