Drivers on Raspberry Pi with kernel 4.14.66-v7+

This forum covers PCAN-Linux and Linux development issues concerning our products
Post Reply
mdanski
Posts: 17
Joined: Tue 28. Aug 2018, 13:57

Drivers on Raspberry Pi with kernel 4.14.66-v7+

Post by mdanski » Tue 28. Aug 2018, 14:36

Hi,
I am trying to configure PCAN-USB Pro on Raspberry Pi. I have downloaded latest drivers 8.6.0 (from here http://www.peak-system.com/fileadmin/me ... /index.htm). Drivers were made and installed, but on modprobe command error occurs:

Code: Select all

pi@raspberrypi:~/Downloads/peak-linux-driver-8.6.0 $ sudo modprobe pcan
modprobe: ERROR: could not insert 'pcan': Exec format error
modprobe: ERROR: ../libkmod/libkmod-module.c:977 command_do() Error running install command for pcan
modprobe: ERROR: could not insert 'pcan': Operation not permitted
OS upgraded to 4.14.66-v7+ and software was updated. Same error occurs even for previous version of drivers. I have seen similar problems on forum, but I have not found any solution yet.

Here is a full log:

Code: Select all

pi@raspberrypi:~/Downloads/peak-linux-driver-8.6.0 $ sudo make clean
make[1]: Entering directory '/home/pi/Downloads/peak-linux-driver-8.6.0/driver'
rm -f src/*o src/*~ src/.*cmd *o *ko *~ .*cmd  pcan.mod.c Module.symvers modules.order .cache.mk
make[1]: Leaving directory '/home/pi/Downloads/peak-linux-driver-8.6.0/driver'
make[1]: Entering directory '/home/pi/Downloads/peak-linux-driver-8.6.0/lib'
rm -f src/*~
rm -rf obj lib obj32 lib32
make[1]: Leaving directory '/home/pi/Downloads/peak-linux-driver-8.6.0/lib'
make[1]: Entering directory '/home/pi/Downloads/peak-linux-driver-8.6.0/test'
rm -f src/*~ src/*.o *~ receivetest transmitest bitratetest filtertest pcanfdtst pcan-settings
make[1]: Leaving directory '/home/pi/Downloads/peak-linux-driver-8.6.0/test'
pi@raspberrypi:~/Downloads/peak-linux-driver-8.6.0 $ sudo make NET=NO PCC=NO PCI=NO ISA=NO DNG=NO PAR=NO
make[1]: Entering directory '/home/pi/Downloads/peak-linux-driver-8.6.0/driver'
make[1]: Nothing to be done for 'depend'.
make[1]: Leaving directory '/home/pi/Downloads/peak-linux-driver-8.6.0/driver'
make[1]: Entering directory '/home/pi/Downloads/peak-linux-driver-8.6.0/driver'
***
*** Host machine kernel version=4.14.66-v7+
*** Driver kernel version=4.14.62+ (4.14.62)
*** Path to kernel sources=/usr/src/linux-headers-4.14.66-v7+
*** use KBUILD=yes
*** cc version=6.3.0
***
make -C /usr/src/linux-headers-4.14.66-v7+  SUBDIRS=/home/pi/Downloads/peak-linux-driver-8.6.0/driver        EXTRA_CFLAGS="-I/home/pi/Downloads/peak-linux-driver-8.6.0/driver        -DNO_DEBUG -DMODVERSIONS -DNO -DUSB_SUPPORT -DNO -DNO_PCIEC_SUPPORT -DNO -DNO -DNO -DNO -DNO_RT  -Wno-date-time" V=0 modules
make[2]: Entering directory '/usr/src/linux-headers-4.14.66-v7+'
  CC [M]  /home/pi/Downloads/peak-linux-driver-8.6.0/driver/src/pcan_main.o
  CC [M]  /home/pi/Downloads/peak-linux-driver-8.6.0/driver/src/pcan_fops.o
  CC [M]  /home/pi/Downloads/peak-linux-driver-8.6.0/driver/src/pcan_fifo.o
  CC [M]  /home/pi/Downloads/peak-linux-driver-8.6.0/driver/src/pcan_filter.o
  CC [M]  /home/pi/Downloads/peak-linux-driver-8.6.0/driver/src/pcan_parse.o
  CC [M]  /home/pi/Downloads/peak-linux-driver-8.6.0/driver/src/pcan_sja1000.o
  CC [M]  /home/pi/Downloads/peak-linux-driver-8.6.0/driver/src/pcan_common.o
  CC [M]  /home/pi/Downloads/peak-linux-driver-8.6.0/driver/src/pcan_timing.o
  CC [M]  /home/pi/Downloads/peak-linux-driver-8.6.0/driver/src/pcanfd_core.o
  CC [M]  /home/pi/Downloads/peak-linux-driver-8.6.0/driver/src/pcanfd_ucan.o
  CC [M]  /home/pi/Downloads/peak-linux-driver-8.6.0/driver/src/pcan_usb_core.o
  CC [M]  /home/pi/Downloads/peak-linux-driver-8.6.0/driver/src/pcan_usb.o
  CC [M]  /home/pi/Downloads/peak-linux-driver-8.6.0/driver/src/pcan_usbpro.o
  CC [M]  /home/pi/Downloads/peak-linux-driver-8.6.0/driver/src/pcanfd_usb.o
  LD [M]  /home/pi/Downloads/peak-linux-driver-8.6.0/driver/pcan.o
  Building modules, stage 2.
  MODPOST 1 modules
  CC      /home/pi/Downloads/peak-linux-driver-8.6.0/driver/pcan.mod.o
  LD [M]  /home/pi/Downloads/peak-linux-driver-8.6.0/driver/pcan.ko
make[2]: Leaving directory '/usr/src/linux-headers-4.14.66-v7+'
make[1]: Leaving directory '/home/pi/Downloads/peak-linux-driver-8.6.0/driver'
make[1]: Entering directory '/home/pi/Downloads/peak-linux-driver-8.6.0/lib'
cc -DNO_RT -I. -I../driver -fPIC -Wall -Wcast-align -Wredundant-decls  -DPCANFD_OLD_STYLE_API -c src/libpcan.c -o obj/libpcan.o
cc -shared -Wl,-soname,libpcan.so.0 -o lib/libpcan.so.0.6 obj/libpcan.o 
cd lib/; ln -sf libpcan.so.0.6 libpcan.so
cc -DNO_RT -I. -I../driver -fPIC -Wall -Wcast-align -Wredundant-decls  -DPCANFD_OLD_STYLE_API -c src/libpcanfd.c -o obj/libpcanfd.o
cc -shared -Wl,-soname,libpcanfd.so.0 -o lib/libpcanfd.so.0.1 obj/libpcanfd.o 
cd lib/; ln -sf libpcanfd.so.0.1 libpcanfd.so
ar rcs lib/libpcanfd.a obj/libpcanfd.o
make[1]: Leaving directory '/home/pi/Downloads/peak-linux-driver-8.6.0/lib'
make[1]: Entering directory '/home/pi/Downloads/peak-linux-driver-8.6.0/test'
cc -DNO_RT -g -I. -I../lib -I../driver    src/receivetest.c src/common.c -lpcanfd  -L../lib/lib   -o receivetest
cc -DNO_RT -g -I. -I../lib -I../driver    src/transmitest.cpp src/common.c src/parser.cpp -lpcanfd -lstdc++  -L../lib/lib   -o transmitest
cc -DNO_RT -g -I. -I../lib -I../driver    src/bitratetest.c src/common.c -lpcanfd  -L../lib/lib   -o bitratetest
cc -DNO_RT -g -I. -I../lib -I../driver    src/filtertest.cpp src/common.c -lpcanfd -lstdc++  -L../lib/lib   -o filtertest
cc -DNO_RT -g -I. -I../lib -I../driver    src/pcanfdtst.c -lpcanfd  -L../lib/lib   -o pcanfdtst
cc -DNO_RT -g -I. -I../lib -I../driver    src/pcan-settings.c -lpopt  -L../lib/lib   -g -o pcan-settings
make[1]: Leaving directory '/home/pi/Downloads/peak-linux-driver-8.6.0/test'
pi@raspberrypi:~/Downloads/peak-linux-driver-8.6.0 $ sudo make install
make[1]: Entering directory '/home/pi/Downloads/peak-linux-driver-8.6.0/driver'
Info: /lib/modules/4.14.62+/misc exists.
Info: Copied 45-pcan.rules to /etc/udev/rules.d.
Info: mainline drivers removed and blacklisted in
      /etc/modprobe.d/blacklist-peak.conf
make[1]: Leaving directory '/home/pi/Downloads/peak-linux-driver-8.6.0/driver'
make[1]: Entering directory '/home/pi/Downloads/peak-linux-driver-8.6.0/lib'
mkdir -p /usr/lib
cp -d lib/* /usr/lib
if [ -d lib32 ]; then \
	mkdir -p /usr/lib32; \
	cp -d lib32/* /usr/lib32; \
fi
mkdir -p /usr/include
chmod 644 libpcan.h libpcanfd.h
cp libpcan.h libpcanfd.h /usr/include
/sbin/ldconfig
make[1]: Leaving directory '/home/pi/Downloads/peak-linux-driver-8.6.0/lib'
make[1]: Entering directory '/home/pi/Downloads/peak-linux-driver-8.6.0/test'
cp receivetest transmitest bitratetest filtertest pcanfdtst pcan-settings /usr/local/bin
make[1]: Leaving directory '/home/pi/Downloads/peak-linux-driver-8.6.0/test'
pi@raspberrypi:~/Downloads/peak-linux-driver-8.6.0 $ sudo modprobe pcan
modprobe: ERROR: could not insert 'pcan': Exec format error
modprobe: ERROR: ../libkmod/libkmod-module.c:977 command_do() Error running install command for pcan
modprobe: ERROR: could not insert 'pcan': Operation not permitted
What can cause this error and how to resolve it? I will be grateful for any advice.

M.Maidhof
Support
Support
Posts: 1753
Joined: Wed 22. Sep 2010, 14:00

Re: Drivers on Raspberry Pi with kernel 4.14.66-v7+

Post by M.Maidhof » Tue 28. Aug 2018, 15:41

Hi,

your kernel headers does not fit to the installed kernel version. Please use rpi_source to solve that problem on your RPI. See solution here:

https://www.peak-system.com/forum/viewt ... t=90#p5327

But please use driver 8.6.

regards

Michael

mdanski
Posts: 17
Joined: Tue 28. Aug 2018, 13:57

Re: Drivers on Raspberry Pi with kernel 4.14.66-v7+

Post by mdanski » Wed 29. Aug 2018, 10:11

Hi,
thanks for your response. Unfortunately I didn't suceed to get driver works on RPI with kernel 4.14.66-v7+ after following given instruction.

However i downgraded kernel to 4.4.13-v7+ and used driver 8.6. Everything works now without any problem.

Post Reply