I was successfully using linux-driver-8.4.0 with netdev for USB CAN dongle but since kernel update "can0" interface is not found.
So, I tried to build the 8.5.1 version with:
make NET=NETDEV_SUPPORT PCC=NO PCI=NO PCIEC=NO ISA=NO DNG=NO COMPAT_SUPPORT=NO
But I have the following error: error: ‘struct net_device’ has no member named ‘trans_start’
Code: Select all
make NET=NETDEV_SUPPORT PCC=NO PCI=NO PCIEC=NO ISA=NO DNG=NO COMPAT_SUPPORT=NO
make[1]: Entering directory `/work1/dev200-local/can/peak-linux-driver-8.5.1/driver'
make[1]: Nothing to be done for `depend'.
make[1]: Leaving directory `/work1/dev200-local/can/peak-linux-driver-8.5.1/driver'
make[1]: Entering directory `/work1/dev200-local/can/peak-linux-driver-8.5.1/driver'
***
*** Host machine kernel version=3.10.0-693.17.1.el7.x86_64
*** Driver kernel version=3.10.0-693.17.1.el7.x86_64 (3.10.0)
*** Path to kernel sources=/lib/modules/3.10.0-693.17.1.el7.x86_64/build
*** use KBUILD=yes
*** cc version=4.8.5
***
make -C /lib/modules/3.10.0-693.17.1.el7.x86_64/build SUBDIRS=/work1/dev200-local/can/peak-linux-driver-8.5.1/driver EXTRA_CFLAGS="-DNO_COMPAT -DLINUX_CAN_RESTART_TIMER -I/work1/dev200-local/can/peak-linux-driver-8.5.1/driver -DNO_DEBUG -DMODVERSIONS -DPARPORT_SUBSYSTEM -DUSB_SUPPORT -DNO -DNO -DNO -DNO -DNO -DNETDEV_SUPPORT -DNO_RT " V=0 modules
make[2]: Entering directory `/usr/src/kernels/3.10.0-693.17.1.el7.x86_64'
CC [M] /work1/dev200-local/can/peak-linux-driver-8.5.1/driver/src/pcan_main.o
CC [M] /work1/dev200-local/can/peak-linux-driver-8.5.1/driver/src/pcan_fops.o
CC [M] /work1/dev200-local/can/peak-linux-driver-8.5.1/driver/src/pcan_fifo.o
CC [M] /work1/dev200-local/can/peak-linux-driver-8.5.1/driver/src/pcan_filter.o
CC [M] /work1/dev200-local/can/peak-linux-driver-8.5.1/driver/src/pcan_parse.o
CC [M] /work1/dev200-local/can/peak-linux-driver-8.5.1/driver/src/pcan_sja1000.o
CC [M] /work1/dev200-local/can/peak-linux-driver-8.5.1/driver/src/pcan_common.o
CC [M] /work1/dev200-local/can/peak-linux-driver-8.5.1/driver/src/pcan_timing.o
CC [M] /work1/dev200-local/can/peak-linux-driver-8.5.1/driver/src/pcanfd_core.o
CC [M] /work1/dev200-local/can/peak-linux-driver-8.5.1/driver/src/pcanfd_ucan.o
CC [M] /work1/dev200-local/can/peak-linux-driver-8.5.1/driver/src/pcan_usb_core.o
CC [M] /work1/dev200-local/can/peak-linux-driver-8.5.1/driver/src/pcan_usb.o
CC [M] /work1/dev200-local/can/peak-linux-driver-8.5.1/driver/src/pcan_usbpro.o
CC [M] /work1/dev200-local/can/peak-linux-driver-8.5.1/driver/src/pcanfd_usb.o
CC [M] /work1/dev200-local/can/peak-linux-driver-8.5.1/driver/src/pcan_netdev.o
/work1/dev200-local/can/peak-linux-driver-8.5.1/driver/src/pcan_netdev.c: In function ‘pcan_netdev_tx’:
/work1/dev200-local/can/peak-linux-driver-8.5.1/driver/src/pcan_netdev.c:326:5: error: ‘struct net_device’ has no member named ‘trans_start’
dev->trans_start = jiffies;
^
make[3]: *** [/work1/dev200-local/can/peak-linux-driver-8.5.1/driver/src/pcan_netdev.o] Error 1
make[2]: *** [_module_/work1/dev200-local/can/peak-linux-driver-8.5.1/driver] Error 2
make[2]: Leaving directory `/usr/src/kernels/3.10.0-693.17.1.el7.x86_64'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/work1/dev200-local/can/peak-linux-driver-8.5.1/driver'
make[1]: Entering directory `/work1/dev200-local/can/peak-linux-driver-8.5.1/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
Info: only 64-bit version of libpcan can be built. 32-bit version of libpcan can't because the 32-bit version of libc seems not being installed...
make[1]: Leaving directory `/work1/dev200-local/can/peak-linux-driver-8.5.1/lib'
make[1]: Entering directory `/work1/dev200-local/can/peak-linux-driver-8.5.1/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 `/work1/dev200-local/can/peak-linux-driver-8.5.1/test'
Code: Select all
uname -a
Linux localhost.localdomain 3.10.0-693.17.1.el7.x86_64 #1 SMP Thu Jan 25 20:13:58 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
Regards,
Eric