org.bluez.Bearer.BREDR(5)

πŸ¦‹ org.bluez.Bearer.BREDR β€” the BlueZ D-Bus Bearer BREDR API πŸ’™

okay bestie, so this is a page from the Linux System Administration manual set (yes that's the manual name, slay) and it's literally the whole D-Bus API doc for the BlueZ Bearer BREDR situation. BREDR = the classic Bluetooth vibe, not the low-energy one. let's get into it πŸŽ€


✨ NAME ✨

org.bluez.Bearer.BREDR β€” the official BlueZ D-Bus Bearer BREDR API documentation. that's it, that's the name, iconic.


πŸ”Œ INTERFACE πŸ”Œ

here's the address of everything, no cap:

  • Service β€” org.bluez
  • Interface β€” org.bluez.Bearer.BREDR1
  • Object path β€” [variable prefix]/{hci0,hci1,...}/dev_{BDADDR}

like, the prefix is variable, then it's one of your hci adapters, then the device's BDADDR. the way that path is structured?? yes πŸ’…


🌸 METHODS 🌸

void Connect() [experimental]

connects all the BREDR profiles the remote device supports that can actually be connected to and that have been flagged as auto-connectable. if only a subset of the profiles is already connected, it'll try to connect the ones that are currently disconnected. so polite, honestly 🫢

and if at least one profile was connected successfully, this method indicates success. one out of many is enough to count, we love a generous queen ✨

Possible errors (aka the ways this can go wrong 😭):

  • org.bluez.Error.NotReady
  • org.bluez.Error.Failed
  • org.bluez.Error.InProgress
  • org.bluez.Error.AlreadyConnected

void Disconnect() [experimental]

disconnects all connected profiles and then terminates the low-level ACL connection. full send, no survivors πŸ’€

the ACL connection will be terminated even if some profiles were not disconnected properly β€” e.g. because the device is out here misbehaving. so yeah, it's giving scorched earth.

this method can also be used to cancel a preceding Connect call before a reply to it has been received. multitasking icon πŸ‘‘

for non-trusted devices that are connected, calling this method will disable incoming connections until the Connect method is called again. so just know that's a thing, bestie, don't come crying to me later πŸ™ˆ

Possible errors:

  • org.bluez.Error.NotConnected

πŸ¦‹ SIGNALS πŸ¦‹

void Disconnected(string reason, string message) [experimental]

this signal fires when a device is disconnected, and it comes with the reason of the disconnection. so your client app can actually know why 😭

depending on its internal policy, a client application could use this to try reconnecting to the device in case of a timeout or an unknown disconnection, or to try connecting to a different device instead. choose your own adventure, bestie πŸŽ€

Possible reasons:

  • org.bluez.Reason.Unknown
  • org.bluez.Reason.Timeout β€” connection timeout. the link supervision timeout has expired for a connection, or the synchronization timeout has expired for a broadcast.
  • org.bluez.Reason.Local β€” connection terminated by local host. the local device terminated the connection, terminated synchronization with a broadcaster, or terminated broadcasting packets.
  • org.bluez.Reason.Remote β€” connection terminated by remote host. this disconnection can be due to:
    • the user on the remote device either terminated the connection or stopped broadcasting packets,
    • the remote device terminated the connection because of low resources,
    • the remote device terminated the connection because the device is about to power off. πŸ’€
  • org.bluez.Reason.Authentication β€” connection terminated due to an authentication failure. (rude but okay)
  • org.bluez.Reason.Suspend β€” connection terminated by local host for suspend. 😴

πŸ’œ PROPERTIES πŸ’œ

  • object Adapter [readonly, experimental] β€” the object path of the adapter the set belongs to.
  • boolean Paired [readonly, experimental] β€” indicates if the remote device is paired to the BREDR bearer. "Paired" means the pairing process where devices exchange the information needed to establish an encrypted connection has been completed. so like, the paperwork is done πŸ“‹
  • boolean Bonded [readonly, experimental] β€” indicates if the remote device is bonded to the BREDR bearer. "Bonded" means the information exchanged during the pairing process has been stored and will be persisted. that's a committed relationship fr fr πŸ’–
  • boolean Connected [readonly, experimental] β€” indicates if the remote device is currently connected to the BREDR bearer.
a PropertiesChanged signal indicates changes to this status. so watch for it, bestie πŸ‘€

🧚 THE SIGN-OFF 🧚

and that's the whole page! this beauty came from BlueZ, dated July 2025, and it's the org.bluez.Bearer.BREDR(5) page β€” that's the manpage section number in the brackets, iykyk ✨

go forth and connect responsibly, mwah πŸ’…πŸŒˆ

πŸ“¦ where this page comes from