Стандартный набор CLI-утилит для Linux SocketCAN. Ключевые инструменты: cansniffer (анализ изменений), cangen (генерация фреймов), cansend (отправка), candump (дамп трафика), canplayer (воспроизведение), canbusload (нагрузка шины). Де-факто стандарт для CAN-анализа в Linux.
sudo apt install can-utils # Виртуальный CAN для тестирования modprobe vcan && sudo ip link add dev vcan0 type vcan && sudo ip link set up vcan0 candump vcan0

Этот репозиторий содержит некоторые утилиты пользовательского пространства для подсистемы Linux CAN (также известной как SocketCAN):
candump : отображение, фильтрация и запись данных CAN в файлыcanplayer : воспроизведение файлов журнала CANcansend : отправка одного кадраcangen : генерация (случайного) трафика CANcansequence : отправка и проверка последовательности кадров CAN с инкрементирующейся полезной нагрузкойcansniffer : отображение различий в содержимом данных CANcanlogserver : ведение журнала кадров CAN и их предоставлениеbcmserver : интерактивная конфигурация BCM (удаленная/локальная)cangw : инструмент пользовательского пространства для конфигурации шлюза CAN через netlinkcanbusload : расчет и отображение загрузки шины CANcan-calc-bit-timing : версия в пользовательском пространстве для расчета битрейта в ядреcanfdtest : программа дуплексного тестирования (часть для тестируемого устройства и часть для хоста)canerrsim : симулятор сообщений об ошибках CANisotpsend : отправка одного PDU ISO-TPisotprecv : получение PDU ISO-TPisotpsniffer : 'прослушивание' PDU ISO-TPisotpdump : 'прослушивание' и интерпретация сообщений CAN (CAN_RAW)isotpserver : IP-сервер для простого мостирования TCP/IP <-> ISO 15765-2 (ASCII HEX)isotpperf : визуализация производительности протокола ISO15765-2isotptun : создание двунаправленного IP-туннеля через ISO-TP на CANj1939acd : демон заявления адресаj1939cat : взятие файла и его отправка/получение по CANj1939spy : перехват сообщений J1939 с использованием SOC_J1939j1939sr : отправка/получение из stdin или в stdouttestj1939 : отправка/получение тестового пакетаПерейдите по ссылке, чтобы увидеть примеры того, как можно использовать эти инструменты: Руководство по началу работы с can-j1939 в Linux
isobusfs-cli : файловый клиент ISOBusisobusfs-srv : файловый сервер ISOBusasc2log : конвертация журнала ASC в компактный журнал кадров CANlog2asc : конвертация компактного журнала кадров CAN в журнал ASClog2long : конвертация компактного представления кадров CAN в читаемый пользователем видslcan_attach : инструмент пользовательского пространства для конфигурации интерфейса CAN на последовательной линииslcand : демон для конфигурации интерфейса CAN на последовательной линииslcanpty : создает pty для приложений, использующих ASCII-протокол slcancmake -DCMAKE_TOOLCHAIN_FILE=~/Android/Sdk/ndk-bundle/build/cmake/android.toolchain.cmake -DANDROID_PLATFORM=android-21 -DANDROID_ABI=armeabi-v7a .. && makeapp вашего проекта, добавьте add_subdirectory(can-utils) в ваш файл CMakeLists.txt после cmake_minimum_required(). Генерация проекта соберет Debug/Release для всех поддерживаемых типов EABI. т.е. arm64-v8a, armeabi-v7a, x86, x86_64.cmake -DCMAKE_TOOLCHAIN_FILE=~/rpi/tools/build/cmake/rpi.toolchain.cmake .. && makecmake -GNinja .. && ninjaCC=clang cmake -G"Eclipse CDT4 - Unix Makefiles" ../can-utils/ -DCMAKE_BUILD_TYPE=Debug -DCMAKE_ECLIPSE_VERSION=4.8.0CMAKE_INSTALL_PREFIX
т.е. CC=clang cmake -DCMAKE_INSTALL_PREFIX=./out .. && make install