![在 Arch 上为 USB CAN Converter Basic (UCCB) 创建 can0 接口](https://linux22.com/image/180378/%E5%9C%A8%20Arch%20%E4%B8%8A%E4%B8%BA%20USB%20CAN%20Converter%20Basic%20(UCCB)%20%E5%88%9B%E5%BB%BA%20can0%20%E6%8E%A5%E5%8F%A3.png)
我有一个 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
朋友使用。