org.bluez...ngManager(5)
π¦ org.bluez.LEAdvertisingManager π¦
okay bestie so this is the page for org.bluez...ngManager(5), straight out of the Linux System Administration manual (yes, that's the manual mane, we stan) π
. Buckle up, we're learning the BlueZ D-Bus LEAvertisingManager API documentation together and honestly it's giving main character energy β¨
πΈ Name πΈ
org.bluez.LEAdvertisingManagerβ BlueZ D-Bus LEAvertisingManager API documentation π«Ά (that's the whole name section, we ate and left no crumbs)
π Interface π
So the Advertising Manager? It's literally the plug π₯. It lets external applications register Advertisement Data that should be broadcast to devices. And no cap β Advertisement Data elements must follow the API for LE Advertisement Data described above. like, that's non-negotiable bestie π
β Service
org.bluez
β Interface
org.bluez.LEAdvertisingManager1
β Object path
/org/bluez/{hci0,hci1,...}
β Used by
β¨ Methods β¨
π€ void RegisterAdvertisement(object advertisement, dict options)
Registers an advertisement object to be sent over the LE Advertising channel. Iconic behaviour, honestly π
Yo, heads up: the service must implement the org.bluez.LEAdvertisement(5) interface. No ifs, no buts, iykyk π§
Possible errors (aka the vibe check failures π):
org.bluez.Error.InvalidArgumentsβ indicates that the object has invalid or conflicting properties.org.bluez.Error.AlreadyExistsβ indicates the object is already registered. like bestie it's already in the group chat πorg.bluez.Error.InvalidLengthβ indicates that the data provided generates a data packet which is too long. too much text, no thoughts, packet said "I'm full" πorg.bluez.Error.NotPermittedβ indicates the maximum number of advertisement instances has been reached. capacity is capacity, periodt β
Examples:
bluetoothctl
> advertise <on/off/type>
π€ void UnregisterAdvertisement(object advertisement)
Unregisters an advertisement that has been previously registered using RegisterAdvertisement(). It's the "leave the group chat" button, and honestly sometimes you gotta π
The object path parameter must match the same value that has been used on registration. Same path or it's not gonna work, bestie π
Possible errors:
org.bluez.Error.InvalidArgumentsorg.bluez.Error.DoesNotExist
π₯ Properties π₯
π byte ActiveInstances [readonly]
Number of active advertising instances. literally just a count, but a cute one π
π byte SupportedInstances [readonly]
Number of available advertising instances.
π array{string} SupportedIncludes [readonly]
List of supported system includes. π¦
Possible values:
"tx-power""appearance""local-name""rsi"
π array{string} SupportedSecondaryChannels [readonly]
List of supported Secondary channels. Secondary channels can be used to advertise with the corresponding PHY. fancy stuff, obsessed β
Possible values:
"1M""2M""Coded"
π dict SupportedCapabilities [readonly]
Enumerates Advertising-related controller capabilities useful to the client. it's literally the controller's resume πβ¨
Possible Values:
byte MaxAdvLenβ Max advertising data lengthbyte MaxScnRspLenβ Max advertising scan response lengthint16 MinTxPowerβ Min advertising tx power (dBm)int16 MaxTxPowerβ Max advertising tx power (dBm)
π array{string} SupportedFeatures [readonly,optional]
List of supported platform features. If no features are available on the platform, the SupportedFeatures array will be empty. an empty array is still valid, we don't shame π«Ά
Possible values:
"CanSetTxPower"β Indicates whether platform can specify tx power on each advertising instance."HardwareOffload"β Indicates whether multiple advertising will be offloaded to the controller.
aaaand that's the whole page, bestie π no notes, we understood the assignment. brought to you by BlueZ, dated October 2023 β slay forever, mwah ππΈ
π¦ where this page comes from
- arch rolling: bluez-utils 5.87-2 Β· GPL-2.0-only
- nixpkgs unstable: bluez 5.87
- ubuntu stonking: bluez 5.87-4 Β· GPL-2.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms