Installation error of SocketCAN driver on Raspberry pi 3b+


#1

Hi all,
I am trying to install the IXXAT SocketCAN driver which brings up the can interface in my Raspberry pi 3b+, and my device for can bus is PiCan2 which converting SPI to CAN interface. ( https://copperhilltech.com/pican-2-can-bus-interface-for-raspberry-pi/ )

However, I cannot make it work because some compiling errors show up, ex:

make -C /lib/modules/4.19.59-v7+/build M=/root/dev/socketcan/usb-to-can_socketcan modules
make[1]: Entering directory '/root/dev/linux'
  Building modules, stage 2.
  MODPOST 1 modules
make[1]: Leaving directory '/root/dev/linux'
make -C /lib/modules/4.19.59-v7+/build M=/root/dev/socketcan/can-ibxxx_socketcan modules
make[1]: Entering directory '/root/dev/linux'
  CC [M]  /root/dev/socketcan/can-ibxxx_socketcan/ixx_pci_core.o
/root/dev/socketcan/can-ibxxx_socketcan/ixx_pci_core.c: In function ‘ixxat_pci_probe’:
/root/dev/socketcan/can-ibxxx_socketcan/ixx_pci_core.c:849:9: error: implicit declaration of function ‘pci_disable_msi’ [-Werror=implicit-function-declaration]
         pci_disable_msi(dev);
         ^~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
scripts/Makefile.build:303: recipe for target '/root/dev/socketcan/can-ibxxx_socketcan/ixx_pci_core.o' failed
make[2]: *** [/root/dev/socketcan/can-ibxxx_socketcan/ixx_pci_core.o] Error 1
Makefile:1517: recipe for target '_module_/root/dev/socketcan/can-ibxxx_socketcan' failed
make[1]: *** [_module_/root/dev/socketcan/can-ibxxx_socketcan] Error 2
make[1]: Leaving directory '/root/dev/linux'
Makefile:7: recipe for target 'ixx_pci' failed
make: *** [ixx_pci] Error 2

Then, I found a similar case in this forum and only the can bus device is different.

I follow the method they fix this problem but it doesn’t work on my system. I feel like the problem is happening from the driver itself, not from the Raspi os or kernel.
Is there any chance to get another version of the SocketCAN driver so that I can give it a try?
And which would also be the potential problem?

Thanks!


#2

You are not using a compatible CAN interface:

https://www.ixxat.com/products/products-industrial/pc-interfaces/pc-can-interfaces/software-support