linux 选择错误:设备的ioctl不合适

agxfikkp  于 2022-11-28  发布在  Linux
关注(0)|答案(1)|浏览(290)

我想使用can接口与slcand,但我有一个问题。
为了将can设备(canable)与slcand链接,我使用udev-rule创建了符号链接
子系统==“usb”,环境{设备类型}==“usb设备”,属性{产品}==“可启用gs_usb”,属性{序列号}==“002900355934570820373433”,SYMLINK+=“测试2”
它成功地创建了符号链接“/dev/cantest 2”。
但是,当我使用命令“sudo slcand -o -c -s8 -F /dev/cantest 2 can 8”时,我收到了一条错误消息
enter image description here
我想这是一个符号链接的问题,所以我找到了一个可启用设备的目录,并在slcand中使用了真实的目录。
但是,它也返回相同错误消息
enter image description here
enter image description here
有人知道如何解决这个问题吗?
P.S.操作系统是ubuntu 20.04
其他示例使用“sudo slcand -o -s8 -t hw -S 3000000 /dev/ttyUSB 0”或“sudo slcand -o -s8 -t hw -S 3000000 /dev/ttyACM 0”。
但是,canable不会在/dev目录中创建这些类型的文件。

czq61nw1

czq61nw11#

AFAIK,* slcan * 是一个基于USART的协议,只在支持它的设备上工作。旧版本的Cantact和Canable就是其中之一,但是新版本切换到了与slcan无关的 * gs_usb * 驱动程序。而且看起来你有gs_usb兼容的设备。你不能将slcan与gs_usb设备一起使用。当你插入slcan设备时,它们看起来像一个串行端口,比如/dev/ttyACM0。
如果你真的需要一个slcan设备,你可以从Cantact's github page下载并编译固件,然后将其刻录到你的canable设备中。

相关问题