鈴木です。 補足説明。 まず、ルールが干渉していると思ったのは、 /dev/lbp_1210 -> /dev/bus/usb/00?/00? のリンクができるというので、 bus/usb を udev ルールの中から、 grep -r bus/usb * とかやって、探してみました。 すると、 ACTION=="add", SUBSYSTEM=="usb_device", \ PROGRAM="/bin/sh -c 'K=%k; K=$${K#usbdev}; printf bus/usb/%%03i/%%03i $${K%%%%.*} $${K#*.}'", \ NAME="%c", MODE="0644" なんてルールが見つかったし、シェルを呼んでいるので、 これの処理が遅くなって干渉しているのかなと。漠然と。 ... 次に、手元のプリンタ(PM-A870)の SUBSYSTEM を $ udevinfo -q all -a -p `udevinfo -q path -n /dev/usb/lp0` で見てみると、 SUBSYSTEM=="usb" となっています。 ついでに、変なリンク先になっているのを、 $ udevinfo -q all -a -p `udevinfo -q path -n /dev/bus/usb/00?/00?` と見てみると、 SUBSYSTEM=="usb_device" となっていて、しかも、前者と同じ、 SYSFS{idProduct}=="0811" SYSFS{idVendor}=="04b8" が見えている。 /dev/bus/usb/* も きっと、udev が作ってんだろうし、 例のルールは、BUS=="usb" のを SYSFS{idProduct} SYSFS{idVendor} でしか、見分けていないので、 # udevcontrol log_priority=debug # /sbin/modprobe -r usblp; sleep 2;/sbin/modprobe usblp で、/var/log/messages を観察してみると、 同時期に複数の udevd-event が動いていてその中に、 ... udev_node_symlink: creating symlink '/dev/pm_a870' to 'usb/lp0' ... udev_node_symlink: link '/dev/pm_a870' points to different target 'usb/lp0', delete it udev_node_symlink: link '/dev/pm_a870' points to different target 'usb/lp0', delete it udev_node_symlink: creating symlink '/dev/pm_a870' to 'usbdev4.6_ep04' udev_node_symlink: creating symlink '/dev/pm_a870' to 'usbdev4.6_ep85' ... のような不気味なリンクを張っているのが確かにいる。 で、ためしに例のルールに、 SUBSYSTEM=="usb" を追加 ACTION=="add", BUS=="usb", SUBSYSTEM=="usb", \ SYSFS{idProduct}=="0811", SYSFS{idVendor}=="04b8", \ SYMLINK+="pm_a870" してみたら、そのような動きはログに記録されなくなった。 udev_node_symlink: creating symlink '/dev/pm_a870' to 'usb/lp0' で、これが正解ではないかと...推測。 この内容が、宮脇さんのところでも効けば、 Complete かな? -- Hiroshi Suzuki It's crucial qp setter@xxxxxxxx to my (..)/ http://my.reset.jp/~setter/ Well-being - - http://i-red.info/ ~~ Powered by Linux/DeleGate _____________*-_____