ubuntu18与ubuntu16均测试过
(1)首先安装libusb,如果没有安装的话;
我安装的版本是libusb-1.0.22
参考的链接如下:
(2)安装libpcan
参考的链接:
https://blog.youkuaiyun.com/hookie1990/article/details/52347518
其中3,pcan的驱动安装;
安装pcan的方式有两中,一种是直接下载peak-linux-driver-xxx;
另一种就是参考链接的方式,链接中说直接安装peak的安装包,不能安装;
//
亲测,踩了一些坑,安装方式与参考链接基本相同,但有些细节需要注意,步骤如下:
(1)下载并解压cob_extern-indigo_dev文件;进入cob_extern-indigo_dev/libpcan 路径下‘
(2)cmake CMakeLists.txt
(3)make
此步骤下载某些东西,有时会很慢,主要是下载peak-linux-driver-8.3.0,这个主要会的话,可以自己注释掉,然后稍后自己下载,放入build,这个后面会说。
(4)sudo make install
(5)然后关键的一步
libpcan文件夹下有build,如果没有mkdir build,建立此文件夹;
将下载并解压后的peak-linux-driver-8.8.0拷贝到build文件夹下;
修改install_pcan.sh文件,将里面的build/peak-linux-driver-8.3 修改成build/peak-linux-driver-8.8.0,此处如果用8.3版本会有问题,所以需要修改更成高级版本,8.8或者其他版本,只要做相应修改即可;这也是原文章没有说明的地方
(6)sudo ./install_pcan.sh
insmod: ERROR: could not insert module pcan.ko: Unknown symbol in module
此处错误忽略
(7)modprobe pcan
(8)ls -l /dev/pcan*
或者直接cd /dev 查看有pcan字符的设备号
——————————————————————————————————————————————————
最后还有一个问题,当安装好后,在自己的workspace运行catkin_make时,仍然报
fatal error: libpcan.h: No such file or directory
#include <libpcan.h>
cd /usr/local/include
这个文件夹下是有libpcan文件夹的,内部包含的libpcan.h pcan.h
至于为什么找不到,肯定是哪里设置的路径有问题;
我的解决办法是 cp /usr/local/include/libpcan/libpcan.h /usr/local/include/
也就是把libpcan.h移至include文件夹下;
===========================================================================
最后补充:上述用的ubuntu18.04.1版本,相应的pcan包是peak-linux-driver-8.8.0
如果使用的是ubuntu18.04.4版本的话,要相应的使用peak-linux-driver-8.9.3,其他版本没测试过,不过此版本对应的是可以的;
版本不对应 modprobe pcan 会出现错误