socketCAN против драйверов производителя - PullRequest
0 голосов
/ 06 июля 2018

Меня немного смущает, в чем разница между socketCAN и драйверами производителя для CAN.

В моей машине с Ubuntu есть карта mPCIE CAN от Kvaser. Он поставляется с собственными драйверами, которые, очевидно, основаны на socketCAN. Но socketCAN поставляется со стандартными дистрибутивами Ubuntu, который также является драйвером для CAN. Я могу читать данные шины CAN только с помощью socketCAN, даже не устанавливая драйверы Kvaser.

Итак, мой вопрос: какой смысл устанавливать драйверы CAN производителя, когда socketCAN может позаботиться только о соединении?

1 Ответ

0 голосов
/ 09 августа 2018

Драйверы производителя используют функции socketCAN. Некоторые устройства работают с реализацией socketCAN по умолчанию, но в большинстве случаев устройства (в вашем случае mPCIE CAN Card) зависят от некоторых специальных команд, что прошивка работает правильно.
Весьма вероятно, что ваше устройство Kvaser работает должным образом, потому что большинство устройств Kvaser уже являются частью ядра Linux.
PCI-драйверы здесь /lib/modules/KERNEL_VERSION/kernel/drivers/net/can

...