intrepidcs / icsscand

User-mode SocketCAN daemon for Intrepid devices
BSD 2-Clause "Simplified" License
10 stars 6 forks source link

Conflicting Kernel Driver and Usermode Daemon versions #10

Closed d4n13lx13 closed 1 year ago

d4n13lx13 commented 1 year ago

Please let me know if this question should be posted to the intrepid-socketcan-kernel-module repo. When I run the daemon (Ubuntu 18.04, kernel version 5.4), it complains about the kernel driver being incompatible with the current daemon version.

Copyright Intrepid Control Systems, Inc. 2019

Daemon v2.1.0
libicsneo v0.3.0 HEAD @
Driver v3.0.0

The kernel driver reports an incompatibility with this version of the usermode daemon
Please ensure that both the usermode daemon and kernel driver are up to date

When looking back at the installation steps for the daemon, when I get to the step cmake .. -DCMAKE_BUILD_TYPE=Release.

Include paths 
Loaded extensions: 
CMake Deprecation Warning at third-party/libicsneo/third-party/libftdi/CMakeLists.txt:15 (cmake_minimum_required):
  Compatibility with CMake < 2.8.12 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.

-- Build type: Release
-- Could NOT find Boost (missing: Boost_INCLUDE_DIR) 
-- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE) 
-- Not generating API documentation
fatal: No annotated tags can describe 'b33ec5459353e6629381cec8f184b290b3fa9d5b'.
However, there were unannotated tags: try --tags.
-- Detected git snapshot version: unknown
-- Not building libftdi1++
-- Not building python bindings
-- ftdi_eeprom build is disabled
-- libConfuse not found, won't build ftdi_eeprom
-- NOT building unit test
-- Configuring done
-- Generating done
-- Build files have been written to: /home/szf38s/icsscand/build

There are some issue with how cmake is making the makefile (as .txt for reference Makefile.txt). Are Doxygen and Boost required dependencies? Also does the most recent commit need to be tagged somehow?

kschwarz-intrepidcs commented 1 year ago

Thanks for the report @d4n13lx13, this should now be fixed with eca0ec0c257c79d27ac2b9c1da2595b1290aa7e4 but could you confirm for me?

d4n13lx13 commented 1 year ago

Thanks for the quick response, looks like the issue persists.

Running daemon

The libicsneo SocketCAN Usermode Daemon
Copyright Intrepid Control Systems, Inc. 2019

Daemon v3.0.0
libicsneo v0.3.0 HEAD @
Driver v3.0.0

The kernel driver reports an incompatibility with this version of the usermode daemon
Please ensure that both the usermode daemon and kernel driver are up to date

Cmake step output

-- The C compiler identification is GNU 7.5.0
-- The CXX compiler identification is GNU 7.5.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE) 
Include paths 
Loaded extensions: 
CMake Deprecation Warning at third-party/libicsneo/third-party/libftdi/CMakeLists.txt:15 (cmake_minimum_required):
  Compatibility with CMake < 2.8.12 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.

-- Build type: Release
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1") 
-- Checking for module 'libusb-1.0'
--   Found libusb-1.0, version 1.0.21
CMake Warning (dev) at /usr/local/share/cmake-3.23/Modules/FindPackageHandleStandardArgs.cmake:438 (message):
  The package name passed to `find_package_handle_standard_args` (LIBUSB)
  does not match the name of the calling package (USB1).  This can lead to
  problems in calling code that expects `find_package` result variables
  (e.g., `_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):
  third-party/libicsneo/third-party/libftdi/cmake/FindUSB1.cmake:33 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  third-party/libicsneo/third-party/libftdi/CMakeLists.txt:26 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Found LIBUSB: /usr/lib/x86_64-linux-gnu/libusb-1.0.so  
-- Could NOT find Boost (missing: Boost_INCLUDE_DIR) 
-- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE) 
-- Not generating API documentation
fatal: No annotated tags can describe 'eca0ec0c257c79d27ac2b9c1da2595b1290aa7e4'.
However, there were unannotated tags: try --tags.
-- Detected git snapshot version: unknown
-- Not building libftdi1++
-- Not building python bindings
-- ftdi_eeprom build is disabled
-- libConfuse not found, won't build ftdi_eeprom
-- NOT building unit test
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE  
-- Found PCAP: /usr/lib/x86_64-linux-gnu/libpcap.so  
-- Performing Test PCAP_LINKS_SOLO
-- Performing Test PCAP_LINKS_SOLO - Success
-- Looking for pcap_get_pfring_id
-- Looking for pcap_get_pfring_id - not found
-- Configuring done
-- Generating done
-- Build files have been written to: /home/szf38s/icsscand/build
kschwarz-intrepidcs commented 1 year ago

Should be fixed now with https://github.com/intrepidcs/intrepid-socketcan-kernel-module/commit/198cc74e21bf090d12465544bd021eca2ed3f49f in the module, you'll need to reload the module to test.

d4n13lx13 commented 1 year ago

That fixed the problem, can now read CAN messages. Thank you very much for your help!

dcanthony68 commented 11 months ago

I think this issue has returned.

Daemon v3.1.1 libicsneo v0.3.0 HEAD @ Driver v3.0.2