BRICKD(8)

πŸ“¦ version 2.4.7, in opensuse-leap 16.0

πŸ’… brickd(8) β€” the Tinkerforge Brick Daemon, explained by your favorite unix girly

okay so before we even start: the manual name is brickd(8) and it lives in the System Manager's Manual section, which is honestly iconic of it. anyway, sit down, grab a strawberry, we're doing this πŸ“βœ¨


✨ NAME ✨

brickd β€” the Tinkerforge Brick Daemon. that's it, that's the name, slay πŸ’…


πŸ¦‹ SYNOPSIS πŸ¦‹

brickd [--help|--version|--check-config|--daemon [<log-file>]] [--debug
[<filter>]] [--config-file <config-file>] [--pid-file <pid-file>]

🌸 DESCRIPTION 🌸

so brickd is part of the Tinkerforge software infrastructure, and its whole job β€” its main character moment β€” is routing Tinkerforge Protocol (TFP) messages between Tinkerforge USB devices (Bricks) and sockets. and bestie, both plain TCP/IP sockets and WebSockets are supported, no cap πŸ”₯

the point of all this? it lets your user programs use those sockets to talk to Bricks and their Bricklets connected over USB without ever having to deal with USB themselves 😭 because who has the time. the TCP/IP and WebSocket communication itself is encapsulated in API bindings that exist for various programming languages. nice and tidy, we love to see it ✨

Bricks connected over USB are identified using their vendor ID (16D0) and product IDs (063D and 09E5). memorize those, there might be a quiz πŸŽ€

by default, brickd binds to 0.0.0.0 (IPv4) and listens on port 4223 for incoming TCP/IP connections. listening for incoming WebSocket connections is disabled by default for security reasons β€” yes, security reasons, respect the boundary πŸ™ˆ. the bind address (IPv4 or IPv6), listen ports, dual-stack operation and WebSocket support can all be configured in the configuration file. see brickd.conf(5) for further details, iykyk πŸ’œ


πŸ’– OPTIONS πŸ’–

  • --help β€” prints help for the command line options and exits. the "what do I do now" button 🫢
  • --version β€” prints the version number and exits. quick vibe check on your install ✨
  • --check-config β€” checks the configuration file for errors, prints the result and exits. like a friend proofreading your text before you send it πŸ’…
  • --daemon [<log-file>] β€” runs as a daemon and writes the log file to an overridable location. yes, the <log-file> is optional, and yes, it overrides the default 🌸
  • --debug [<filter>] β€” sets the log severity level to debug, overriding the configuration file value. see brickd.conf(5) for further details. it also takes an optional comma separated list of filter statements that allow you to control the visibility of debug messages (FIXME: Add more details about filter statements). yes bestie, the manpage literally says FIXME, we respect the honesty πŸ’€
  • --config-file <config-file> β€” reads config from <config-file> instead of the default location. your config, your rules πŸ‘‘
  • --pid-file <pid-file> β€” writes the PID to <pid-file> instead of the default location πŸŽ€

⭐ SIGNALS ⭐

  • when it receives SIGHUP, brickd will close and reopen its log file πŸ”
  • when it receives SIGUSR1, brickd will scan for added or removed USB devices πŸ”

and about that second one: it's only useful if brickd has no other means to detect USB hotplug on its own. that's the case if brickd is using a libusb-1.0 version without hotplug support β€” meaning libusb-1.0 before 1.0.16. so like, old libusb? you gotta poke it manually. no cap 🫠


🧚 FILES 🧚

🌈 when run as root

  • /etc/brickd.conf β€” the system wide default configuration file. see brickd.conf(5) for further details. can be overridden using the --config-file option ✨
  • /var/log/brickd.log β€” the system wide default daemon-mode log file. can be overridden using the optional <log-file> argument to the --daemon option πŸŽ€
  • /run/brickd.pid β€” the system wide default PID file. can be overridden using the --pid-file option πŸ’…

πŸ’œ when run as non-root

  • ~/.brickd/brickd.conf β€” per user default configuration file. see brickd.conf(5) for further details. can be overridden using the --config-file option 🌸
  • ~/.brickd/brickd.log β€” per user default daemon-mode log file. can be overridden using the optional <log-file> argument to the --daemon option πŸ¦‹
  • ~/.brickd/brickd.pid β€” per user default PID file. can be overridden using the --pid-file option ⭐

πŸ’€ BUGS πŸ’€

please report all bugs you discover to https://github.com/Tinkerforge/brickd/issues β€” the devs literally want to know, don't be shy πŸ™ˆ


πŸ‘‘ AUTHOR πŸ‘‘

Matthias Bolte <matthias@tinkerforge.com> β€” the legend himself 🫢


Copyright (C) 2012-2018 Matthias Bolte


πŸ”₯ LICENSE πŸ”₯

brickd is distributed under the terms of the GNU GPL v2+. this is free software; see the source for copying conditions. and, important, in big dramatic letters: there is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. like, zero. none. don't come for them if it breaks 😭


🌟 SEE ALSO 🌟


so that's the whole page bestie, you ate that πŸ’… and for the credits: this page comes from Tinkerforge, it's dated 2018-10-11, and it's filed under BRICKD(8) β€” periodt. go forth and route some TFP messages πŸ¦‹βœ¨πŸŽ€

πŸ“¦ where this page comes from