2015-08-30 3 views
0

Я пытаюсь запустить сценарий оболочки, если специальное устройство USB подключено к моему малиновому пи. Я пытался следовать следующему описанию:Запустить скрипт или пакет java - это устройство USB подключено к малине pi

http://ubuntuforums.org/archive/index.php/t-502864.html

Я создал файл с именем 85-my_rule.rules с содержанием: ACTION == "добавить", SUBSYSTEM == "usb_device", SYSFS {idVendor} == "FFFF", SYSFS {idProduct} == "1000", RUN + = "/ USR/бен/usbdevinserted"

Мой сценарий usbdevinserted имеет следующее содержание: эхо "Dies IST Эйн Текст" >>/TMP/text

Если я выполняю этот скрипт в оболочке, текстовый файл с именем text ist создается с содержимым «Dies ist ein Tex t ", поэтому скрипт работает нормально. Но, похоже, это не выполняется, если я подключу USB-устройство к rasppi. Поэтому я думаю, ошибка в моем правиле, но я не могу ее найти. Кто-нибудь может мне помочь?

Привет, Andreas

ответ

0

ли продавец и идентификатор продукта правильно?

ffff и 1000 выглядит странно, но это может быть возможно (например, несколько плат для оценки).

Обычно «dmesg» печатает VID/PID (штекер/отключить пару раз, «dmesg», проверьте последние строки)

Кроме того, проверьте, является ли это проблема преобразования шестигранной десятичной (попробуйте десятичные 65535 и 4096)

+0

Привет, да я думаю, что эти значения являются правильными. Я выполнил lsusb (как описано) и получил 4 строки. Затем я подключу свое USB-устройство (цифровой кадр) и снова запустите lsusb. И единственная измененная строка - это линия с этими значениями. – Hirschniesel

0

Я нашел решение. Я должен был изменить свое правило к следующему правилу:

ACTION=="add",SUBSYSTEM=="block",KERNEL=="sd*[!0-9]|sr*",RUN+="/usr/bin/usbdevinserted" 

и мой сценарий теперь:

#!/bin/bash 
echo "Dies ist ein Text" >>/tmp/text 

, но я не знаю, почему я должен был вставить первую строчку в моем сценарии. Может ли кто-нибудь объяснить эту строку, пожалуйста?

Привет, Andreas