Правило Udev для подключения USB к CAN Lawicell

Это сделает то, что вы хотите:

wget -qO- http://website.com/site/ | \
  sed -n -e "/^ *file: */ { s/^ *file: *'//; s/', *$//p}" > output.txt
0
07.10.2021, 08:59
1 ответ

Решение было комбинацией вещей, частично вдохновленных этим .

правило udev

# Lawicel CANUSB module
ACTION=="add", ENV{ID_MODEL}=="CANUSB", ENV{SUBSYSTEM}=="tty", RUN+="/usr/local/bin/slcan_add_wrapper.sh $kernel"

slcan _добавить _wrapper.sh

#!/bin/sh
#  Call shell script binding can device
/usr/bin/logger "[udev] Lawicel CANUSB detected - running /usr/local/bin/slcan_add.sh on $1"
echo /usr/local/bin/slcan_add.sh $1 | at now

slcan _доп.ш

#!/bin/sh
# Bind the USBCAN device
sleep 1
/usr/bin/logger "binding $1 to slcan0"
slcand -o -c -f -s6 /dev/$1 slcan0
sleep 2
ifconfig slcan0 up

Описание

Решение сочетает в себе использование atдля того, чтобы udev не убивал скрипт из-за слишком долгой работы, а также немного волшебства sleepв начале slcan_add.sh. Запуск slcan_add.shиз терминала вручную работает без сна, но по какой-то причине правило udev отказывается без сна, я не знаю почему, и я не хочу больше устранять эту проблему.

Если кто-то найдет более чистое решение, я приму его.

1
25.10.2021, 13:30

Теги

Похожие вопросы