NG_BLUETOOTH(4)

✨ NG_BLUETOOTH(4) ✨

okay bestie, sit down, hydrate, because we're talking about ng_bluetooth β€” the manual page, the myth, the legend πŸ’…


🌸 NAME 🌸

ng_bluetooth β€” it's literally just a placeholder for global Bluetooth variables, no cap 🫢


πŸŽ€ SYNOPSIS πŸŽ€

#include <sys/types.h>
#include <netgraph/bluetooth/include/ng_bluetooth.h>

πŸ¦‹ DESCRIPTION πŸ¦‹

so the ng_bluetooth module is a placeholder for global Bluetooth variables. that's it. that's the whole job. it's giving holder of things energy πŸ‘‘

and the way that you can look at and change ALL of these Bluetooth variables is through sysctl(8). slay.

πŸ’– Bluetooth Variables πŸ’–

here's the tea on the default variables, mwah. lowkey important: each Bluetooth module might add its own variables to the tree, so don't be surprised if there's more where these came from 🌈

  • net.bluetooth.version β€” a read-only integer variable showing the current version of the Bluetooth stack. read-only bestie, you can look but you cannot touch πŸ™ˆ
  • net.bluetooth.hci.command_timeout β€” a read-write integer variable that controls the Host Controller Interface (HCI) command timeout (in seconds), aka how long the HCI layer will wait for the Command_Complete or Command_Status event from a Bluetooth device. patience is a virtue, but it's also a number you can edit ✨
  • net.bluetooth.hci.connection_timeout β€” a read-write integer variable controlling the HCI connection timeout, i.e. how long the HCI layer will wait for the Connection_Complete event. normally this shouldn't even be needed, because Bluetooth devices have connection timeout of their own and will send the event back anyway. but it IS needed to make sure no connection stalls when the HCI transport layer is broken.
⚠️ be careful when changing this variable. make sure you understand what you are doing. fr fr, this is not a vibe-check-it-later situation πŸ’€
  • net.bluetooth.hci.max_neighbor_age β€” a read-write integer variable controlling time-to-live (in seconds) for entries in the HCI neighbor cache. every time a Bluetooth device performs an Inquiry operation, the results get put in the cache. later, when a Bluetooth device establishes a baseband connection, it'll try to find the matching entry in the cache and use it. this might speed up establishment of the baseband connection. it's giving cached and thriving 🧚
  • net.bluetooth.l2cap.rtx_timeout β€” a read-write integer variable controlling the Link Layer Control and Adaptation Protocol (L2CAP) Retransmission Timeout (RTX) (in seconds). every time the L2CAP layer submits a control command, the RTX timeout gets set. the value of the RTX timeout should be greater or equal to the value of the HCI connection timeout.
⚠️ be careful when changing this variable. make sure you understand what you are doing. periodt πŸ’…
  • net.bluetooth.l2cap.ertx_timeout β€” a read-write integer variable controlling the L2CAP Extended Retransmission Timeout (ERTX) (in seconds). in some cases a remote peer may respond with PENDING status to the L2CAP control command. when that happens, the L2CAP command timeout is reset to the ERTX timeout value. the value of the ERTX timeout should be greater or equal to the value of the RTX timeout.
⚠️ be careful when changing this variable. make sure you understand what you are doing. no cap, these numbers have main character energy and they will absolutely affect things 😭

πŸ‘€ SEE ALSO πŸ‘€

ng_btsocket(4), ng_hci(4), ng_l2cap(4), sysctl(8)

go read those too, they're iconic in their own right 🌟


⭐ HISTORY ⭐

the ng_bluetooth module was implemented in FreeBSD 5.0. a legend since day one, honestly πŸ†


πŸ’œ AUTHORS πŸ’œ

Maksim Yevmenkin <m_evmenkin@yahoo.com> β€” thank you for your service, king πŸ‘‘


and that's the whole page bestie!! this one came from the Debian manual set, dated November 9, 2002, and it's still here being useful. obsessed. bye pookie, go read your sysctl tree πŸ©·βœ¨πŸ’–

πŸ“¦ where this page comes from