Error compiling driver 8.1

This forum covers PCAN-Linux and Linux development issues concerning our products
Post Reply
rmderbes
Posts: 1
Joined: Thu 28. Jul 2016, 23:27

Error compiling driver 8.1

Post by rmderbes » Thu 28. Jul 2016, 23:48

Hello. I'm trying to install peak-linux-driver-8.1 for a PCAN USB-PRO-FD hardware on a fedora 20 linux system.
uname -a gives: 3.11.10-301.CAN.fc20.x86_64
Kernel was rebuilt with CAN support and installed.
If I build the driver with "make" without parameters, it compiles cleanly but it has no netdev support:
modprobe pcan
cat /proc/pcan gives:

Code: Select all

*------------- PEAK-System CAN interfaces (http://www.peak-system.com) -------------
*------------- Release_20160608_n (8.1.0) Jul 28 2016 18:08:04 --------------
*------------- [mod] [isa] [pci] [pec] [dng] [par] [usb] [pcc] --------------
*--------------------- 2 interfaces @ major 249 found -----------------------
*n -type- -ndev- --base-- irq --btr- --read-- --write- --irqs-- -errors- status
32  usbfd   -NA- ffffffff 255 0x001c 00000000 00000000 00000000 00000000 0x0000
33  usbfd   -NA- ffffffff 255 0x001c 00000000 00000000 00000000 00000000 0x0000
But I need SOCKETCAN support, so I uninstalled the driver with make uninstall and tried to recompile the driver with:

cd driver
make clean
make NET=NETDEV_SUPPORT

Code: Select all

***
*** Host machine kernel version=3.11.10-301.CAN.fc20.x86_64
*** Driver kernel version=3.11.10
*** Path to kernel sources=/lib/modules/3.11.10-301.CAN.fc20.x86_64/build
*** use KBUILD=yes
*** cc version=4.8.3
***
make -C /lib/modules/3.11.10-301.CAN.fc20.x86_64/build SUBDIRS=/home/dev/Downloads/peak-linux-driver-8.1/driver        EXTRA_CFLAGS="-I/home/dev/Downloads/peak-linux-driver-8.1/driver        -DNO_DEBUG -DMODVERSIONS -DPARPORT_SUBSYSTEM -DUSB_SUPPORT -DPCI_SUPPORT -DPCIEC_SUPPORT -DISA_SUPPORT -DDONGLE_SUPPORT -DPCCARD_SUPPORT -DNETDEV_SUPPORT -DNO_RT " V=0 modules
make[1]: Entering directory `/usr/src/kernels/3.11.10-301.CAN.fc20.x86_64'
  CC [M]  /home/dev/Downloads/peak-linux-driver-8.1/driver/src/pcan_main.o
  CC [M]  /home/dev/Downloads/peak-linux-driver-8.1/driver/src/pcan_fops.o
In file included from /home/dev/Downloads/peak-linux-driver-8.1/driver/src/pcan_fops.c:464:0:
/home/dev/Downloads/peak-linux-driver-8.1/driver/src/pcan_fops_linux.c:798:2: warning: #warning "Compiling for __LP64__" [-Wcpp]
 #warning "Compiling for __LP64__"
  ^
  CC [M]  /home/dev/Downloads/peak-linux-driver-8.1/driver/src/pcan_fifo.o
  CC [M]  /home/dev/Downloads/peak-linux-driver-8.1/driver/src/pcan_filter.o
  CC [M]  /home/dev/Downloads/peak-linux-driver-8.1/driver/src/pcan_parse.o
  CC [M]  /home/dev/Downloads/peak-linux-driver-8.1/driver/src/pcan_sja1000.o
  CC [M]  /home/dev/Downloads/peak-linux-driver-8.1/driver/src/pcan_common.o
  CC [M]  /home/dev/Downloads/peak-linux-driver-8.1/driver/src/pcan_timing.o
  CC [M]  /home/dev/Downloads/peak-linux-driver-8.1/driver/src/pcanfd_core.o
  CC [M]  /home/dev/Downloads/peak-linux-driver-8.1/driver/src/pcanfd_ucan.o
  CC [M]  /home/dev/Downloads/peak-linux-driver-8.1/driver/src/pcan_pci.o
  CC [M]  /home/dev/Downloads/peak-linux-driver-8.1/driver/src/pcanfd_pci.o
  CC [M]  /home/dev/Downloads/peak-linux-driver-8.1/driver/src/pcan_pciec.o
  CC [M]  /home/dev/Downloads/peak-linux-driver-8.1/driver/src/pcan_isa.o
  CC [M]  /home/dev/Downloads/peak-linux-driver-8.1/driver/src/pcan_dongle.o
  CC [M]  /home/dev/Downloads/peak-linux-driver-8.1/driver/src/pcan_pccard_core.o
  CC [M]  /home/dev/Downloads/peak-linux-driver-8.1/driver/src/pcan_pccard.o
  CC [M]  /home/dev/Downloads/peak-linux-driver-8.1/driver/src/pcan_usb_core.o
  CC [M]  /home/dev/Downloads/peak-linux-driver-8.1/driver/src/pcan_usb.o
  CC [M]  /home/dev/Downloads/peak-linux-driver-8.1/driver/src/pcan_usbpro.o
  CC [M]  /home/dev/Downloads/peak-linux-driver-8.1/driver/src/pcanfd_usb.o
  CC [M]  /home/dev/Downloads/peak-linux-driver-8.1/driver/src/pcan_netdev.o
/home/dev/Downloads/peak-linux-driver-8.1/driver/src/pcan_netdev.c: In function âpcan_netdev_openâ:
/home/dev/Downloads/peak-linux-driver-8.1/driver/src/pcan_netdev.c:107:27: error: âCAN_CTRLMODE_FDâ undeclared (first use in this function)
  if (priv->can.ctrlmode & CAN_CTRLMODE_FD) {
                           ^
/home/dev/Downloads/peak-linux-driver-8.1/driver/src/pcan_netdev.c:107:27: note: each undeclared identifier is reported only once for each function it appears in
/home/dev/Downloads/peak-linux-driver-8.1/driver/src/pcan_netdev.c:112:13: error: âstruct can_privâ has no member named âdata_bittimingâ
    priv->can.data_bittiming.bitrate;
             ^
/home/dev/Downloads/peak-linux-driver-8.1/driver/src/pcan_netdev.c: In function âpcan_netdev_rxâ:
/home/dev/Downloads/peak-linux-driver-8.1/driver/src/pcan_netdev.c:268:30: error: âCAN_CTRLMODE_FDâ undeclared (first use in this function)
   if (!(priv->can.ctrlmode & CAN_CTRLMODE_FD)) {
                              ^
/home/dev/Downloads/peak-linux-driver-8.1/driver/src/pcan_netdev.c:278:3: error: implicit declaration of function âalloc_canfd_skbâ [-Werror=implicit-function-declaration]
   skb = alloc_canfd_skb(ndev, &pcf);
   ^
/home/dev/Downloads/peak-linux-driver-8.1/driver/src/pcan_netdev.c:278:7: warning: assignment makes pointer from integer without a cast [enabled by default]
   skb = alloc_canfd_skb(ndev, &pcf);
       ^
/home/dev/Downloads/peak-linux-driver-8.1/driver/src/pcan_netdev.c: In function âpcan_netdev_change_mtuâ:
/home/dev/Downloads/peak-linux-driver-8.1/driver/src/pcan_netdev.c:465:40: error: âCAN_CTRLMODE_FDâ undeclared (first use in this function)
   if (!(priv->can.ctrlmode_supported & CAN_CTRLMODE_FD))
                                        ^
/home/dev/Downloads/peak-linux-driver-8.1/driver/src/pcan_netdev.c: In function âpcan_netdev_registerâ:
/home/dev/Downloads/peak-linux-driver-8.1/driver/src/pcan_netdev.c:690:11: error: âstruct can_privâ has no member named âdata_bittiming_constâ
  priv->can.data_bittiming_const =
           ^
/home/dev/Downloads/peak-linux-driver-8.1/driver/src/pcan_netdev.c:752:35: error: âCAN_CTRLMODE_FDâ undeclared (first use in this function)
   priv->can.ctrlmode_supported |= CAN_CTRLMODE_FD;
                                   ^
cc1: some warnings being treated as errors
make[2]: *** [/home/dev/Downloads/peak-linux-driver-8.1/driver/src/pcan_netdev.o] Error 1
make[1]: *** [_module_/home/dev/Downloads/peak-linux-driver-8.1/driver] Error 2
make[1]: Leaving directory `/usr/src/kernels/3.11.10-301.CAN.fc20.x86_64'
make: *** [all] Error 2
Please, help with this error...
Also, I do not know why make without parameters does not build the driver with netdev support, which, according to your manual, is the default behaviour.
Thank you
Last edited by M.Gerber on Fri 29. Jul 2016, 09:16, edited 1 time in total.
Reason: Inserted [code] tags for better readability.

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

Re: Error compiling driver 8.1

Post by M.Maidhof » Fri 29. Jul 2016, 09:24

Hi,

SocketCAN supports CAN-FD since Kernel 3.16. If you want to use the device with CAN-FD, you'll have to upgrade your Kernel, at least with a 3.16 Kernel. In that case, I would actually suggest to upgrade with 4.0 or higher so that everything will work out-of-the-box. The PCAN-USB Pro FD (as well as the PCAN-USB FD) is also supported by native socketCAN drivers since kernel version 4.0.

regards

Michael

Post Reply