conference logo

Playlist "MRMCD 2024 - Land in Sicht?"

I do the Infrastructure, you do the magic - Das CAN Subsystem im Linux Netzwerk Stack

Marc Kleine-Budde

SocketCAN - Das CAN Subsystem im Linux Netzwerk Stack.

Der vor über 40 Jahren entwickelte CAN-Bus (Controller Area Network) ist ein serieller Feldbus für den Datenaustausch zwischen elektronischen Steuergeräten (ECUs) in der Automobiltechnik und der Fabrikautomation. Weitere Einsatzgebiete sind zwischen Ladestationen und Elektrofahrzeugen, in E-Scootern und E-Bikes oder in der Hausautomation/Solarreglern.

Viele interessante Endgeräte und zum Teil proprietäre Protokolle die untersucht, Reverse Engineered oder gefuzzed werden wollen.

Hier setzt SocketCAN an, eine seit über 15 Jahren im mainline Linux Kernel integrierte Unterstützung für CAN Hardware, die es ermöglicht über die bekannte Socket Schnittstelle CAN Nachrichten zu verschicken und zu empfangen.

Der Talk klärt die dringendsten Frage, wie kann ich mit CAN loslegen, welche Hardware wird unterstützt. Außerdem erläutert er die Grundlagen des CAN Buses, geht auf Gemeinsamkeiten und Unterschiede im Vergleich zu Ethernet ein. Angesprochen werden die vom Kernel unterstützten CAN Protokolle (CAN-Raw, ISO-TP, J1939). Ferner werden eine Reihe von Standard CAN Tools vorgestellt, z.B. zum aufzeichnen/abspielen/analysieren von CAN Traffic.

https://creativecommons.org/licenses/by-sa/4.0/