BLUETOOTHCTL-ASSISTANT(1)

πŸ¦‹ ok so, welcome to BLUETOOTHCTL-ASSISTANT(1) πŸ¦‹

bestie. you found the page. this is bluetoothctl-assistant β€” page one of the Linux System Administration manual, and it's literally the entire guide to the Assistant Submenu. BAP Broadcast Assistants. yes, that's a real thing. no, i will not be calm about it. πŸ’…


✨ SYNOPSIS ✨

bluetoothctl [--options] [assistant.commands]

so this submenu is where you manage BAP Broadcast Assistants, and it does that through the org.bluez.MediaAssistant(5) interface. that's the whole vibe. πŸŽ€


🌸 ASSISTANT COMMANDS 🌸

πŸ’– list

lists all the available assistants. that's it, that's the function, and honestly? iconic for it.

Usage

> list

Example β€” display all available BAP Broadcast Assistants

> list

🫢 show

shows you the assistant information. it pulls from the org.bluez.MediaAssistant(5) properties, so you know it's the good stuff.

Usage

> show [assistant]

Uses org.bluez.MediaAssistant(5) properties

  • [assistant] β€” the BAP Broadcast Assistant path. it's optional, and if you omit it, it just shows the current one like a considerate little icon.

Example β€” show information for the currently selected assistant

> show

Example β€” show specific BAP Broadcast Assistant information

> show /org/bluez/hci0/src_05_1F_EE_F3_F8_7D/dev_00_60_37_31_7E_3F/bis1

πŸ”₯ push

okay this one is the main character. push sends stream information to the peer. πŸš€

this command is used by a BAP Broadcast Assistant to send information about a broadcast stream to a peer BAP Scan Delegator.

the information goes out via a GATT Write Command for the BASS Broadcast Audio Scan Control Point characteristic. (say that five times fast. or don't. i'm not your mom.)

after you issue the command, you get prompted to enter the stream metadata LTVs to send to the peer. and here's the fork in the road, bestie: if you pick the auto option, the Broadcast Assistant sends the default metadata discovered about the stream. otherwise, the default metadata gets overwritten by the LTVs you typed in yourself. you're in charge. πŸ‘‘

if the stream is encrypted, you'll also be prompted for the Broadcast Code β€” that's the key to decrypt the stream. at the UI level, the Broadcast Code is represented as a string of at least 4 octets, and no more than 16 octets when represented in UTF-8. the string gets sent to the peer via GATT as an array of 16 octets.

and if you pick the auto value when prompted for the Broadcast Code? a zero filled array gets sent to the peer. otherwise, the string you entered goes out as an array of bytes. periodt. πŸ’€

Usage

> push <assistant>

Uses org.bluez.MediaAssistant(5) method Push

  • <assistant> β€” the BAP Broadcast Assistant path to send stream information to

Example β€” push stream info with automatic metadata and broadcast code

> push /org/bluez/hci0/src_05_1F_EE_F3_F8_7D/dev_00_60_37_31_7E_3F/bis1
[Assistant] Enter Metadata (auto/value): auto
[Assistant] Enter Broadcast Code (auto/value): auto

Example β€” push stream info with custom metadata and broadcast code

> push /org/bluez/hci0/src_05_1F_EE_F3_F8_7D/dev_00_60_37_31_7E_3F/bis1
[Assistant] Enter Metadata (auto/value): 0x03 0x02 0x04 0x00
[Assistant] Enter Broadcast Code (auto/value): Borne House

🌈 RESOURCES 🌈

the official site. go touch grass there, it's lovely. 🌱


πŸ™ˆ REPORTING BUGS πŸ™ˆ

  • linux-bluetooth@vger.kernel.org

found something cursed? email the list. be nice about it. πŸ“


free use of this software is granted under the terms of the GNU Lesser General Public Licenses (LGPL). slay, legally. βš–οΈβœ¨


and that's the whole page, bestie β€” brought to you by BlueZ, dated August 2024, in manual section 1. go forth and push some stream info. πŸ’œπŸ¦‹

πŸ“¦ where this page comes from