Hallo zusammen,
falls ich mit meinem Anliegen in dem falschen Bereich bin, kann dieses Thema gerne verschoben werden!
Momentan habe ich ein Problem mit meiner CAN-Schnittstelle. Eine Kommunikation über den normalen CAN-Bus funktioniert. Jetzt wollte ich das mit CAN-FD ausprobieren. Nur das klappt leider nicht... Bei dem Booten des Systems werden die Controller erfolreich initialisiert.
# Enable CANFD-Bus
kernel=ms7/zImage
device_tree=ms7/bcm2710-rpi-3-b.dtb
overlay_prefix=ms7/overlays/
dtoverlay=mcp2517fd-can0,oscillator=40000000,interrupt=22
dtoverlay=mcp2517fd-can1,oscillator=40000000,interrupt=25
Starten kann ich die Schnittstellen ebenfalls, allerdings bin ich mir da nicht sicher, ob ich die auch korrekt aktiviere!?
ip link set can0 up type can fd off tq 250 prop-seg 6 phase-seg1 7 phase-seg2 2 sjw 1 berr-reporting off restart-ms 100
ip link set can1 up type can fd off tq 250 prop-seg 6 phase-seg1 7 phase-seg2 2 sjw 1 berr-reporting off restart-ms 100
Mein Programm ist in C geschrieben und ich initialisiere die Sockets so, wie es sämtliche Webseiten (z.B. https://copperhilltech.com/what-is-socketcan/) vorschreiben. Nur leider bekomme ich es nicht hin, CAN-FD-Daten zu senden. Ich habe mal nachgesehen und die MTU des Sockets sind immer 16 Bytes. Das müssten aber 72 Bytes sein wenn CAN-FD-Daten gesendet werden sollen...
Ich bin gerade etwas ratlos und finde keinen Fehler... Hat hier jemand vielleicht schon eine CAN-FD-Schnittstelle erfolgreich erstellt und könnte mir helfen???
Mein System ist übrigens ein Raspberry Pi 3B mit Raspbian Jessie.
Mfg Kellermann66