我有一个 USB CAN Converter Basic,如下所述: https://ucandevices.github.io/uccb.html
当我将其插入我的 Arch Linux 笔记本电脑时,dmesg
显示以下内容:
usb 1-6: new full-speed USB device number 12 using xhci_hcd
usb 1-6: New USB device found, idVendor=0483, idProduct=5740, bcdDevice= 2.00
usb 1-6: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 1-6: Product: CAN_USB_ConverterBasic
usb 1-6: Manufacturer: CANDevices
usb 1-6: SerialNumber: 00000000001A
cdc_acm 1-6:1.0: ttyACM0: USB ACM device
lsmod
显示以下条目:
slcan 16384 0
can_dev 36864 0
can_raw 20480 0
can 24576 1 can_raw
当我现在尝试激活 CAN 接口时sudo ip link set can0 type can bitrate 500000
,出现错误Cannot find device "can0"
。
我想我必须添加一些udev
规则或系统的东西。但我找不到这样做的正确开始。
更新:
我现在创建了一个 udev 规则:
# cat /etc/udev/rules.d/45-uccb.rules
SUBSYSTEM=="usb", ATTRS{idProduct}=="5740", ATTRS{idVendor}=="0483", MODE="666", SYMLINK+="can0"
...但我仍然无法使用ip link
上面的命令。
谁能给我提示缺少什么吗?
谢谢。
答案1
UCCB 适配器将自身介绍为串行设备 (/dev/ttyACM0),因此必须将其设置为 slcan 设备。
slcan_attach -f -s5 -o /dev/ttyACM0
slcand ttyACM0 slcan0
这样,ip link
就可以配置设备并can0
可供candump
朋友使用。