[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: логика udev rules



Artem Chuprina wrote:
 E> написал вот такой rule:
 E> #Own udev rule for PalmOS devices
 E> #BUS!="usb", GOTO="coldsync_rules_end"
 E> #ACTION!="add", GOTO="coldsync_rules_end"
 E> #ENV{DEVTYPE}!="usb_device", GOTO="coldsync_rules_end"

 E> SYSFS{idVendor}=="082d", SYSFS{idProduct}=="0100", GOTO="coldsync_detected"
.....
 E> GOTO="coldsync_rules_end"

 E> LABEL="coldsync_detected"
 E> BUS=="usb", ACTION=="add", ENV{DEVTYPE}=="usb_device", RUN+="/usr/bin/coldsync
 E> -md -n USB1 -d io:1"

 E> LABEL="coldsync_rules_end"

 E> в таком виде работает, а если убираю комментарии в трёх первых правилах - не
 E> работает.
 E> может быть я неправильно понял как устроены эти самые rules?

А если убрать комментарии только в первых двух правилах?
всё равно, даже с одним первым правилом уже не работает.

Маловероятно, что там BUS не usb или ACTION не add, но вот ENV{DEVTYPE}
вполне может оказаться более специфическим, чем просто usb_device...
если посмотреть внимательнее, после "coldsync_detected" также проверяется ENV{DEVTYPE}.

Или файл может быть рассчитан на более старую (или наоборот, более
новую) версию udev, который ту же информацию выдает чуть по-другому.
этот вариант исключён - файл написан мной сегодня (с оглядкой на debian'овские rules, вывод "udevadm monitor --env" и гугль).


Reply to: