GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - linux-can/can-utils: Linux-CAN / SocketCAN user space applications

BranchesTags
Open more actions menu

Latest commit

 

History

1,304 Commits
1,304 Commits

Folders and files

NameName
Last commit message
Last commit date
.github/workflows
.github/workflows
 
 
LICENSES
LICENSES
 
 
calc-bit-timing
calc-bit-timing
 
 
cmake
cmake
 
 
include/linux
include/linux
 
 
isobusfs
isobusfs
 
 
j1939_timedate
j1939_timedate
 
 
j1939_vehicle_position
j1939_vehicle_position
 
 
mcp251xfd
mcp251xfd
 
 
.clang-format
.clang-format
 
 
.editorconfig
.editorconfig
 
 
.gitignore
.gitignore
 
 
CMakeLists.txt
CMakeLists.txt
 
 
Makefile
Makefile
 
 
README.md
README.md
 
 
asc2log.c
asc2log.c
 
 
bcmserver.c
bcmserver.c
 
 
can-j1939-install-kernel-module.md
can-j1939-install-kernel-module.md
 
 
can-j1939-kickstart.md
can-j1939-kickstart.md
 
 
can-j1939.md
can-j1939.md
 
 
can-tc-init-etf.sh
can-tc-init-etf.sh
 
 
canbusload.c
canbusload.c
 
 
candump.c
candump.c
 
 
canerrsim.c
canerrsim.c
 
 
canfdtest.c
canfdtest.c
 
 
canframelen.c
canframelen.c
 
 
canframelen.h
canframelen.h
 
 
cangen.c
cangen.c
 
 
cangw.c
cangw.c
 
 
canlogserver.c
canlogserver.c
 
 
canplayer.c
canplayer.c
 
 
cansend.c
cansend.c
 
 
cansequence.c
cansequence.c
 
 
cansniffer.c
cansniffer.c
 
 
check_cc.sh
check_cc.sh
 
 
fork_test.c
fork_test.c
 
 
isotpdump.c
isotpdump.c
 
 
isotpperf.c
isotpperf.c
 
 
isotprecv.c
isotprecv.c
 
 
isotpsend.c
isotpsend.c
 
 
isotpserver.c
isotpserver.c
 
 
isotpsniffer.c
isotpsniffer.c
 
 
isotptun.c
isotptun.c
 
 
j1939acd.c
j1939acd.c
 
 
j1939cat.c
j1939cat.c
 
 
j1939spy.c
j1939spy.c
 
 
j1939sr.c
j1939sr.c
 
 
lib.c
lib.c
 
 
lib.h
lib.h
 
 
libj1939.c
libj1939.c
 
 
libj1939.h
libj1939.h
 
 
log2asc.c
log2asc.c
 
 
log2long.c
log2long.c
 
 
page.theme
page.theme
 
 
slcan_attach.c
slcan_attach.c
 
 
slcand.c
slcand.c
 
 
slcanpty.c
slcanpty.c
 
 
style.css
style.css
 
 
terminal.h
terminal.h
 
 
testj1939.c
testj1939.c
 
 

Repository files navigation

SocketCAN logo

SocketCAN userspace utilities and tools

This repository contains some userspace utilities for Linux CAN subsystem (aka SocketCAN):

Basic tools to display, record, generate and replay CAN traffic

  • candump : display, filter and log CAN data to files
  • canplayer : replay CAN logfiles
  • cansend : send a single frame
  • cangen : generate (random) CAN traffic
  • cansequence : send and check sequence of CAN frames with incrementing payload
  • cansniffer : display CAN data content differences

CAN access via IP sockets

  • canlogserver : log CAN frames and serves them
  • bcmserver : interactive BCM configuration (remote/local)
  • socketcand : use RAW/BCM/ISO-TP sockets via TCP/IP sockets
  • cannelloni : UDP/SCTP based SocketCAN tunnel

CAN in-kernel gateway configuration

  • cangw : CAN gateway userspace tool for netlink configuration

CAN bus measurement and testing

  • canbusload : calculate and display the CAN busload
  • can-calc-bit-timing : userspace version of in-kernel bitrate calculation
  • canfdtest : Full-duplex test program (DUT and host part)
  • canerrsim : CAN error message simulator

ISO-TP tools ISO15765-2:2016 for Linux

  • isotpsend : send a single ISO-TP PDU
  • isotprecv : receive ISO-TP PDU(s)
  • isotpsniffer : 'wiretap' ISO-TP PDU(s)
  • isotpdump : 'wiretap' and interpret CAN messages (CAN_RAW)
  • isotpserver : IP server for simple TCP/IP <-> ISO 15765-2 bridging (ASCII HEX)
  • isotpperf : ISO15765-2 protocol performance visualisation
  • isotptun : create a bi-directional IP tunnel on CAN via ISO-TP

J1939/ISOBus tools

  • j1939acd : address claim daemon
  • j1939cat : take a file and send and receive it over CAN
  • j1939spy : spy on J1939 messages using SOC_J1939
  • j1939sr : send/recv from stdin or to stdout
  • testj1939 : send/receive test packet

Follow the link to see examples on how this tools can be used: Kickstart guide to can-j1939 on linux

ISOBus File server tools

  • isobusfs-cli : ISOBus file client
  • isobusfs-srv : ISOBus file server

Log file converters

  • asc2log : convert ASC logfile to compact CAN frame logfile
  • log2asc : convert compact CAN frame logfile to ASC logfile
  • log2long : convert compact CAN frame representation into user readable

Serial Line Discipline configuration (for slcan driver)

  • slcan_attach : userspace tool for serial line CAN interface configuration
  • slcand : daemon for serial line CAN interface configuration
  • slcanpty : creates a pty for applications using the slcan ASCII protocol

CMake Project Generator

  • Place your build folder anywhere, passing CMake the path. Relative or absolute.
  • Some examples using a build folder under the source tree root:
  • Android : cmake -DCMAKE_TOOLCHAIN_FILE=~/Android/Sdk/ndk-bundle/build/cmake/android.toolchain.cmake -DANDROID_PLATFORM=android-21 -DANDROID_ABI=armeabi-v7a .. && make
  • Android Studio : Copy repo under your project's app folder, add add_subdirectory(can-utils) to your CMakeLists.txt file after cmake_minimum_required(). Generating project will build Debug/Release for all supported EABI types. ie. arm64-v8a, armeabi-v7a, x86, x86_64.
  • Raspberry Pi : cmake -DCMAKE_TOOLCHAIN_FILE=~/rpi/tools/build/cmake/rpi.toolchain.cmake .. && make
  • Linux : cmake -GNinja .. && ninja
  • Linux Eclipse Photon (Debug) : CC=clang cmake -G"Eclipse CDT4 - Unix Makefiles" ../can-utils/ -DCMAKE_BUILD_TYPE=Debug -DCMAKE_ECLIPSE_VERSION=4.8.0
  • To override the base installation directory use: CMAKE_INSTALL_PREFIX ie. CC=clang cmake -DCMAKE_INSTALL_PREFIX=./out .. && make install

Additional Information:

  • SocketCAN Documentation (Linux Kernel)
  • Elinux.org CAN Bus Page
  • Debian Package Description
  • J1939 kernel module installation on Debian

About

Linux-CAN / SocketCAN user space applications

Topics

automotivecan-busindustrial-automationlinux

Resources

Readme
Activity
Custom properties

Stars

3.0k stars

Watchers

131 watching

Forks

792 forks
Report repository

Releases

Packages

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.