I have the following USB device: PCAN-USB Pro FD (01h PCB02h) fw v3.2.0 bl v2.1.0 connected to a PI4. The PI4 is running balena's IOT software which contains a YOCTO-based Host OS and our application container. The peak drivers were thus not part of the host OS but I managed to build them by finding appropriate kernel headers, etc. When I build in chardev mode, I see there are /dev/pcanusb32 and /dev/pcanusb33 devices, and using pcanfdtst I can read FD frames. However, for compatibility with the rest of our software stack I would like to use the socketCAN interface. For other USB devices I would use the slcand utility to map the serial device to a virtual can network-based device which then shows up as can0 in ip link. However, when I run this I get the following error in dmesg.
Code: Select all
[232628.396224] pcan: __pcan_ioctl(cmd=21505): unsupported cmd (dir=0 type=84 nr=1 size=0)
My other option is to build the peak driver to use the network interface. However, when I try to load it, it fails because it depends on driver can-dev which is also missing in our build (though can and can-raw are available) and I have not been able to find the source for that.
Can you suggest how to address either the slcand problem or the can-dev issue?