Extended CAN (canfd) on BBB

I’m trying to work with extended CAN on the Beaglebone. The code I am using was developed under Ubuntu, where it worked perfectly, then ported to BBB (with a simple scp).

So I ran into this problem-- the can.h file on BBB (4.4.27-ti-rt-r62) doesn’t define “struct canfd_frame”. Okay, so I added it and some other missing structures. When I ran the program, which did compile fine, the CAN socket was being opened as a standard CAN socket (11-bit ID). Anyone ever get CANFD (extended CAN) working on the BBB? Why would the can.h header file not have “struct canfd_frame” defined?


If the headers on your BBB miss the canfd structures, you can assume the kernel does not include CAN-FD support. Adding them yourself does not magically make the kernel support it, even though your application supports it.

Besides, are you aware than the integrated CAN controller of the BBB does not support CAN-FD at all?