对于socketCAN和制造商的CAN驱动程序之间的区别,我有点困惑。
我在我的Ubuntu机器中有一张来自Kvaser的mPCIE CAN卡。它自带的驱动程序显然是基于socketCAN的。但是socketCAN附带了标准的Ubuntu发行版,这也是CAN的驱动程序。我能够读取CAN总线数据仅使用socketCAN,甚至无需安装Kvaser的驱动程序。
所以我的问题是,当socketCAN能够单独处理通信时,安装制造商的CAN驱动程序有什么意义呢?
发布于 2018-08-09 12:16:36
制造商的驱动程序正在使用socketCAN功能。有些设备使用默认的socketCAN实现,但在大多数情况下,设备(在您的例子中,mPCIE可以卡)依赖于固件正确工作的一些特殊命令。
很有可能,您的Kvaser设备工作正常,因为大多数Kvaser设备已经是Linux内核的一部分。
PCI-驱动程序在这里/lib/modules/KERNEL_VERSION/kernel/drivers/net/can
https://stackoverflow.com/questions/51208478
复制相似问题