diff options
Diffstat (limited to 'recipes-core/udev/usb-can-udev-conf')
-rw-r--r-- | recipes-core/udev/usb-can-udev-conf/60-usb-can.rules | 7 | ||||
-rw-r--r-- | recipes-core/udev/usb-can-udev-conf/slcand-default | 2 | ||||
-rw-r--r-- | recipes-core/udev/usb-can-udev-conf/slcand@.service | 13 |
3 files changed, 22 insertions, 0 deletions
diff --git a/recipes-core/udev/usb-can-udev-conf/60-usb-can.rules b/recipes-core/udev/usb-can-udev-conf/60-usb-can.rules new file mode 100644 index 0000000..3aa800a --- /dev/null +++ b/recipes-core/udev/usb-can-udev-conf/60-usb-can.rules @@ -0,0 +1,7 @@ +# udev rules for USB CAN adapters +SUBSYSTEM!="tty", GOTO="usb_can_rules_end" + +# VScom USB-CAN Plus +ATTRS{idProduct}=="6015", ATTRS{idVendor}=="0403", SYMLINK+="usbcan%n", TAG+="systemd", ENV{SYSTEMD_WANTS}="slcand@%k.service" + +LABEL="usb_can_rules_end" diff --git a/recipes-core/udev/usb-can-udev-conf/slcand-default b/recipes-core/udev/usb-can-udev-conf/slcand-default new file mode 100644 index 0000000..a86552f --- /dev/null +++ b/recipes-core/udev/usb-can-udev-conf/slcand-default @@ -0,0 +1,2 @@ +# Defaults for VScom USB-CAN Plus @ 500 Kb/s CAN rate +SLCAND_OPTS="-o -s6 -t hw -S 3000000" diff --git a/recipes-core/udev/usb-can-udev-conf/slcand@.service b/recipes-core/udev/usb-can-udev-conf/slcand@.service new file mode 100644 index 0000000..3c30e51 --- /dev/null +++ b/recipes-core/udev/usb-can-udev-conf/slcand@.service @@ -0,0 +1,13 @@ +[Unit] +Description=Serial CAN daemon (can-utils) +BindsTo=dev-%i.device +After=dev-%i.device + +[Service] +Type=forking +StopWhenUnneeded=yes +Environment=SLCAND_OPTS="-o -c -s6" SLCAND_DEV=can0 +EnvironmentFile=-/etc/default/slcand +EnvironmentFile=-/etc/sysconfig/slcand +ExecStart=/usr/bin/slcand $SLCAND_OPTS %I $SLCAND_DEV +ExecStartPost=/bin/sh -c '/bin/sleep 3; /sbin/ip link set $SLCAND_DEV up' |