Page 1 of 1

Peak Can on Odroid XU4

Posted: Wed 19. Jul 2017, 18:32
by aklasse
Hello,

has anyone experience with the Odroid and PEAK-CAN. I use the newest driver (Version 8.4.0) from the official homepage: http://www.peak-system.com/fileadmin/me ... /index.htm
And follow exact the instructions in the installation Manual http://www.peak-system.com/fileadmin/me ... an_eng.pdf

I also installed all requirements including the correct kernel headers:

Code: Select all

sudo apt-get install linux-headers-$(uname -r)
I use an odroid XU4 with kernel 4.9.27-35 on Ubuntu 16.04.
When I try to make the peak can driver:

Code: Select all

$ cd peak-linux-driver-8.4.0
$ make clean
$ make
I get several errors:

Code: Select all

make[1]: Entering directory '/home/odroid/peak-linux-driver-8.4.0/driver'
make[1]: Nothing to be done for 'depend'.
make[1]: Leaving directory '/home/odroid/peak-linux-driver-8.4.0/driver'
make[1]: Entering directory '/home/odroid/peak-linux-driver-8.4.0/driver'
***
*** Host machine kernel version=4.9.27-35
*** Driver kernel version=4.9.27-35 (4.9.27)
*** Path to kernel sources=/usr/src/linux-headers-4.9.27-35
*** use KBUILD=yes
*** cc version=5.4.0
***
make -C /usr/src/linux-headers-4.9.27-35  SUBDIRS=/home/odroid/peak-linux-driver-8.4.0/driver        EXTRA_CFLAGS="-I/home/odroid/peak-linux-driver-8.4.0/driver        -DNO_DEBUG -DMODVERSIONS -DPARPORT_SUBSYSTEM -DUSB_SUPPORT -DPCI_SUPPORT -DPCIEC_SUPPORT -DISA_SUPPORT -DDONGLE_SUPPORT -DPCCARD_SUPPORT -DNO_NETDEV_SUPPORT	 -DNO_RT  -Wno-date-time" V=0 modules
make[2]: Entering directory '/usr/src/linux-headers-4.9.27-35'
  CC [M]  /home/odroid/peak-linux-driver-8.4.0/driver/src/pcan_main.o
  CC [M]  /home/odroid/peak-linux-driver-8.4.0/driver/src/pcan_fops.o
  CC [M]  /home/odroid/peak-linux-driver-8.4.0/driver/src/pcan_fifo.o
  CC [M]  /home/odroid/peak-linux-driver-8.4.0/driver/src/pcan_filter.o
  CC [M]  /home/odroid/peak-linux-driver-8.4.0/driver/src/pcan_parse.o
  CC [M]  /home/odroid/peak-linux-driver-8.4.0/driver/src/pcan_sja1000.o
  CC [M]  /home/odroid/peak-linux-driver-8.4.0/driver/src/pcan_common.o
  CC [M]  /home/odroid/peak-linux-driver-8.4.0/driver/src/pcan_timing.o
  CC [M]  /home/odroid/peak-linux-driver-8.4.0/driver/src/pcanfd_core.o
  CC [M]  /home/odroid/peak-linux-driver-8.4.0/driver/src/pcanfd_ucan.o
  CC [M]  /home/odroid/peak-linux-driver-8.4.0/driver/src/pcan_pci.o
/home/odroid/peak-linux-driver-8.4.0/driver/src/pcan_pci.c: In function ‘pcan_pci_enable_msi’:
/home/odroid/peak-linux-driver-8.4.0/driver/src/pcan_pci.c:279:44: error: implicit declaration of function ‘pci_enable_msi_range’ [-Werror=implicit-function-declaration]
 #define pcan_pci_enable_msi_range(a, b, c) pci_enable_msi_range(a, b, c)
                                            ^
/home/odroid/peak-linux-driver-8.4.0/driver/src/pcan_pci.c:327:18: note: in expansion of macro ‘pcan_pci_enable_msi_range’
  pa->msi_count = pcan_pci_enable_msi_range(pa->dev, 1, can_count);
                  ^
/home/odroid/peak-linux-driver-8.4.0/driver/src/pcan_pci.c:338:4: error: implicit declaration of function ‘pci_disable_msi’ [-Werror=implicit-function-declaration]
    pci_disable_msi(pa->dev);
    ^
cc1: some warnings being treated as errors
scripts/Makefile.build:293: recipe for target '/home/odroid/peak-linux-driver-8.4.0/driver/src/pcan_pci.o' failed
make[3]: *** [/home/odroid/peak-linux-driver-8.4.0/driver/src/pcan_pci.o] Error 1
Makefile:1490: recipe for target '_module_/home/odroid/peak-linux-driver-8.4.0/driver' failed
make[2]: *** [_module_/home/odroid/peak-linux-driver-8.4.0/driver] Error 2
make[2]: Leaving directory '/usr/src/linux-headers-4.9.27-35'
Makefile:418: recipe for target 'all' failed
make[1]: *** [all] Error 2
make[1]: Leaving directory '/home/odroid/peak-linux-driver-8.4.0/driver'
make[1]: Entering directory '/home/odroid/peak-linux-driver-8.4.0/lib'
cc -o libpcan.so.0.6 -DNO_RT -I. -I../driver -fPIC -shared -Wall   src/libpcan.c  -Wl,-soname,libpcan.so.0
ln -sf libpcan.so.0.6 libpcan.so
cc -o libpcanfd.so.0.1 -DNO_RT -I. -I../driver -fPIC -shared -Wall   -DPCANFD_OLD_STYLE_API src/libpcanfd.c  -Wl,-soname,libpcanfd.so.0
ln -sf libpcanfd.so.0.1 libpcanfd.so
make[1]: Leaving directory '/home/odroid/peak-linux-driver-8.4.0/lib'
make[1]: Entering directory '/home/odroid/peak-linux-driver-8.4.0/test'
cc -DNO_RT -g -I. -I../lib -I../driver    src/receivetest.c src/common.c -lpcanfd  -L../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   -o transmitest
cc -DNO_RT -g -I. -I../lib -I../driver    src/bitratetest.c src/common.c -lpcanfd  -L../lib   -o bitratetest
cc -DNO_RT -g -I. -I../lib -I../driver    src/filtertest.cpp src/common.c -lpcanfd -lstdc++  -L../lib   -o filtertest
cc -DNO_RT -g -I. -I../lib -I../driver    src/pcan-settings.c -lpopt  -L../lib   -g -o pcan-settings
cc -DNO_RT -g -I. -I../lib -I../driver    src/pcanfdtst.c -lpcanfd  -L../lib   -o pcanfdtst
make[1]: Leaving directory '/home/odroid/peak-linux-driver-8.4.0/test'
I googled my ass off, but i can not find a solution which is helping me.
I need the peak can driver to work and can not use the socket can driver, because i use the peak can basic API for further developments.

Best Regards
Philipp

Re: Peak Can on Odroid XU4

Posted: Thu 20. Jul 2017, 12:07
by PEAK-Support
Let us know which CAN Hardware you want to use? You compile all drivers...and if your target does not support for example PCI / PCIe you will get some errors. See manual how to compile ONLY the part for the Device you need.