Home > Back-end >  slcand error : Inappropriate ioctl for device
slcand error : Inappropriate ioctl for device

Time:11-25

I want to use can interface with slcand, but I have a problem.

To link can device(canable) with slcand, I make symbolic link with udev-rule

SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTR{product}=="canable gs_usb", ATTR{serial}=="002900355934570820373433", SYMLINK ="cantest2"

It successfully made symbolic link "/dev/cantest2".

However, when I use command "sudo slcand -o -c -s8 -F /dev/cantest2 can8", I got a error message

enter image description here

I thought that it is a problem about symbolic link, so I find a directory of canable device, and used real directory in slcand.

However, it also return same error message

enter image description here

enter image description here

Does someon know how to solve this problem???

P.S. the operating systme is ubuntu 20.04

Other examples using "sudo slcand -o -s8 -t hw -S 3000000 /dev/ttyUSB0" or "sudo slcand -o -s8 -t hw -S 3000000 /dev/ttyACM0".

However, canable does not create these kinds of files in /dev directory.

CodePudding user response:

AFAIK, slcan is a USART based protocol and work only on devices supporting it. Old versions of Cantact & Canable were one of those, but the newer ones switched to gs_usb driver which has nothing to do with slcan. And it seems you have gs_usb compatible device. You can not use slcand with a gs_usb device. slcan devices look like a serial port when you plug them in, like /dev/ttyACM0.

If you really need an slcan device, you can download and compile the firmware from Cantact's github page, then burn it into your Canable device.

  • Related