Hi,
I recently struggled setting up CAN to work with the Beagle-bone.
Part of my struggle involved figuring out CAN modules.
Well, I finally figured out that can-raw was really the only loaded module and is the only one needed by SocketCAN. I was not sure because SocketCAN doesn't identify which module it needs in order to run.
Now, I am wondering why I don't need can, or can-dev modules.
The modules will not load with "modprobe can" or "modprobe can-dev".
I am unsure of their purpose, except some websites mention that they are needed in order to get CAN to run correctly.
I did find out that can-j1939 needs to be included in the kernel compilation.
https://github.com/linux-can/can-utils/blob/master/can-j1939-install-kernel-module.md
Where can I find out information about CAN modules can and can-dev?
can: CAN protocol module.
can-dev: Standard library for CAN drivers.
can-raw: Offers access to the CAN bus via the BSD socket API.
can-bcm: Broadcast Manager module, offers content filtering, timeout monitoring, sending of RTR frames, and cyclic CAN messages without permanent user interaction.
can-j1939: Available since our BSP 5, giving support for the CAN J1939 standard.
can-gw: CAN gateway module, used to route CAN frames.
vcan: Virtual Local CAN interface.
$ lsmod | grep can
can_gw 20480 0
can_bcm 24576 0
slcan 16384 0
vcan 16384 0
can_raw 20480 1
Thanks,