Skip to content

Kvaser Linux 驱动安装

使用 Kvaser USB 设备前,先通过以下说明,确认当前系统是否自带驱动

  • 大部分现代 Linux 发行版已经随内核提供 Kvaser SocketCAN 驱动,模块名为 kvaser_usb
  • 若系统没有驱动,需要手动安装独立 SocketCAN 驱动。

确认系统是否已有驱动

先检查系统是否带有 kvaser_usb 模块,并尝试加载:

bash
modinfo kvaser_usb
sudo modprobe kvaser_usb

如果 modinfo 能输出模块信息,且 modprobe 没有报错,说明当前系统已经具备 Kvaser USB SocketCAN 驱动。

插入 Kvaser USB 设备后,再检查设备枚举、内核日志和 CAN 网络接口:

bash
lsusb -d 0bfd:
dmesg | grep -Ei 'kvaser|can|usb'
ip link show type can

如果能看到 can0can3,说明当前系统已经实际支持 Kvaser USBcan Pro 4xHS,可以直接按 SocketCAN 方式使用,无需继续安装独立驱动。

安装独立 SocketCAN 驱动

当系统没有 kvaser_usb 模块、模块无法加载,或插入设备后没有创建 CAN 网络接口时,则需要安装 Kvaser 独立 SocketCAN 驱动。

Kvaser SocketCAN 驱动下载: https://kvaser.com/single-download/?download_id=1011691570

注意

SocketCAN 驱动使用 Linux 通用 SocketCAN API,不能与 Kvaser Linux Drivers and SDK(LinuxCAN/CANlib 专有驱动)混用。如果应用程序依赖 Kvaser CANlib API,请安装 Kvaser Linux Drivers and SDK。

Kvaser SocketCAN 驱动要求:

  • Linux 内核 4.9 或更高版本;
  • 与当前运行内核版本匹配的内核头文件;
  • makegcc 编译工具。

Ubuntu/Debian 系统可执行:

bash
sudo apt update
sudo apt install build-essential linux-headers-$(uname -r) ethtool

从上述官方页面下载驱动压缩包,然后解压并进入源码目录。压缩包名称中的版本号以实际下载版本为准。

bash
tar -xzf socketcan_kvaser_drivers_X_XX_XXX.tar.gz
cd socketcan_kvaser_drivers

安装或升级驱动前,先断开所有 Kvaser USB 设备。安装时,在驱动源码目录中执行:

bash
sudo make uninstall
make
sudo make install

安装后验证

连接 USB 设备后,检查系统是否创建 CAN 网络接口:

bash
ip link show type can

查看驱动和设备信息:

bash
ip -details link show can0

看到 can0can3 后,才算当前系统已经实际支持并识别 Kvaser USBcan Pro 4xHS。

Kvaser SocketCAN 驱动信息

雪球电子 · 专注通讯