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

Re: логика udev rules



Ed -> debian-russian@lists.debian.org  @ Wed, 03 Feb 2010 18:55:01 +0300:

 E> преамбула: у нас используются кпк с palmos, программа синхронизации - 
 E> coldsync.
 E> раньше coldsync запускался из hotplug, решил мигрировать-таки на udev.

 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> SYSFS{idVendor}=="082d", SYSFS{idProduct}=="0200", GOTO="coldsync_detected"
 E> SYSFS{idVendor}=="082d", SYSFS{idProduct}=="0300", GOTO="coldsync_detected"
 E> SYSFS{idVendor}=="0830", SYSFS{idProduct}=="0001", GOTO="coldsync_detected"
 E> SYSFS{idVendor}=="0830", SYSFS{idProduct}=="0002", GOTO="coldsync_detected"
 E> SYSFS{idVendor}=="0830", SYSFS{idProduct}=="0003", GOTO="coldsync_detected"
 E> SYSFS{idVendor}=="0830", SYSFS{idProduct}=="0020", GOTO="coldsync_detected"
 E> SYSFS{idVendor}=="0830", SYSFS{idProduct}=="0080", GOTO="coldsync_detected"
 E> SYSFS{idVendor}=="0830", SYSFS{idProduct}=="0040", GOTO="coldsync_detected"
 E> SYSFS{idVendor}=="0830", SYSFS{idProduct}=="0050", GOTO="coldsync_detected"
 E> SYSFS{idVendor}=="0830", SYSFS{idProduct}=="0060", GOTO="coldsync_detected"
 E> SYSFS{idVendor}=="0830", SYSFS{idProduct}=="0031", GOTO="coldsync_detected"
 E> SYSFS{idVendor}=="0830", SYSFS{idProduct}=="0061", GOTO="coldsync_detected"
 E> SYSFS{idVendor}=="0830", SYSFS{idProduct}=="0070", GOTO="coldsync_detected"
 E> SYSFS{idVendor}=="054c", SYSFS{idProduct}=="0038", GOTO="coldsync_detected"
 E> SYSFS{idVendor}=="054c", SYSFS{idProduct}=="0066", GOTO="coldsync_detected"
 E> SYSFS{idVendor}=="054c", SYSFS{idProduct}=="0095", GOTO="coldsync_detected"
 E> SYSFS{idVendor}=="054c", SYSFS{idProduct}=="009a", GOTO="coldsync_detected"
 E> SYSFS{idVendor}=="054c", SYSFS{idProduct}=="00da", GOTO="coldsync_detected"
 E> SYSFS{idVendor}=="054c", SYSFS{idProduct}=="00e9", GOTO="coldsync_detected"
 E> SYSFS{idVendor}=="054c", SYSFS{idProduct}=="0144", GOTO="coldsync_detected"
 E> SYSFS{idVendor}=="054c", SYSFS{idProduct}=="0169", GOTO="coldsync_detected"
 E> SYSFS{idVendor}=="04e8", SYSFS{idProduct}=="8001", GOTO="coldsync_detected"
 E> SYSFS{idVendor}=="04e8", SYSFS{idProduct}=="6601", GOTO="coldsync_detected"
 E> SYSFS{idVendor}=="091e", SYSFS{idProduct}=="0004", GOTO="coldsync_detected"
 E> SYSFS{idVendor}=="4766", SYSFS{idProduct}=="0001", GOTO="coldsync_detected"
 E> SYSFS{idVendor}=="0c88", SYSFS{idProduct}=="0021", 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...

Или файл может быть рассчитан на более старую (или наоборот, более
новую) версию udev, который ту же информацию выдает чуть по-другому.

-- 
У кошки четыре ноги: ввод, вывод, земля и питание.


Reply to: