I am using linux-gpib package and Keithley's KUSB-488A (gpib-usb converter) on my Ubuntu 14.04 LTS. It is installed properly and I хан successfully command my devices using ibtest
utility. But before that, everytime I disconnect and reconnect the device I need to run gpib_config --minor 0
inorder to initiate the драйверы.
I wanted it to run automatically everytime в connection is made without having to run explicitly. So, в udev
задница is what I thought of and wrote the following:
KERNEL=="gpib[0-9]*", ENV{DEVPATH}=="/devices/virtual/gpib_common/gpib0", RUN+="/usr/sbin/gpib_config --minor 0"
based on what I got from:
udevadm info /dev/gpib0
P: /devices/virtual/gpib_common/gpib0
N: gpib0
E: DEVNAME=/dev/gpib0
E: DEVPATH=/devices/virtual/gpib_common/gpib0
E: MAJOR=160
E: MINOR=0
E: SUBSYSTEM=gpib_common
But this didn't help я when I restarted the udev
задницы. What I have observed, if I reboot the персональный компьютер itself then on first connection I am able to run ibtest
without explicit execution of gpib_config
.
Please help я where I am lacking?
Я полагаю, что Вы добрались /dev/gpib0
на первом разе после того, как перезагрузка, следующее повторное соединение находится на /dev/gpib1
и каждый раз, когда Вы снова соединяетесь, это увеличено как в устройстве хранения данных USB.
На Вашем первом соединении, Вы добрались:
E: DEVNAME=/dev/gpib0
E: DEVPATH=/devices/virtual/gpib_common/gpib0
На втором, я ожидаю:
E: DEVNAME=/dev/gpib1
E: DEVPATH=/devices/virtual/gpib_common/gpib1
Так, чтобы правило никогда не работало ни на каком повторном соединении, Как ENV{DEVPATH}
в правиле, исправленном в 0
. Другая точка, в Вашем случае DEVNAME
& DEVPATH
очень связаны (если я не могу сказать: они - то же), таким образом ENV{DEVPATH}
не добавляет вещи к правилу. Попробуйте: ls -l /dev/gpib*
, необходимо найти символьную ссылку:
/dev/gpibX -> /sys/devices/virtual/gpib_common/gpibX
Так сохраняют Вас правилами простой:
KERNEL=="gpib[0-9]*", RUN+="/usr/sbin/gpib_config --minor 0"
BTW, это правило выполняется многократно, по крайней мере, это выполняется дважды (2): На подключении устройства & на разъединении устройства. Я не знаком с аппаратными средствами, если Вам нужны они, что команда только, когда устройство подключаются, добавляет ACTION
к правилу:
ACTION=="add", KERNEL=="gpib[0-9]*", RUN+="/usr/sbin/gpib_config --minor 0"