// the find
linux-can/can-utils
Linux-CAN / SocketCAN user space applications
can-utils is the official userspace toolkit for Linux SocketCAN — the kernel's CAN bus subsystem. It covers everything from basic frame sniffing (candump, cansend) up through ISO-TP, J1939, and ISOBus file server protocols. If you're doing CAN development on Linux, this is essentially a required install.
The tool coverage is genuinely broad: candump alone handles logging, filtering, and timestamping in a way that replaces expensive commercial analyzers for most debug work. ISO-TP support is complete — send, receive, sniff, tunnel, and performance test, all mapping correctly to ISO 15765-2:2016. The J1939 stack including address claiming and the ISOBus file server is well beyond what you'd expect from a 'utils' package. CMake build with cross-compile toolchain files for ARM and Android means it drops into embedded workflows without fighting the build system.
The bit-timing calculator tree has six versioned copies of essentially the same file (v2.6.31 through v6.3) with no shared logic — that's just copied C code accumulating drift. Documentation lives almost entirely in the kernel docs and external links; the tools themselves have no man pages in-tree and the README is just a flat list. The ISOBus file server is a significant chunk of code with almost no documentation on what subset of the spec it implements or what's missing. No test suite for the tools themselves — the CI just checks that it compiles.