パソコン用学習リモコン PC-OP-RS1(その6)

BUFFALOの「パソコン用学習リモコン PC-OP-RS1」をCGIから起動するためのFreeBSDへの変更について。
OS起動時のログをdmesgでみると

ums0: 3 buttons and [XYZ] coordinates ID=1
ugen2.2:  at usbus2
uftdi0:  on usbus2 ← ☆
bridge0: Ethernet address: 02:bf:22:e4:03:00
fuse4bsd: version 0.3.9-pre1, FUSE ABI 7.19

☆印の箇所の様に、デバイスが「uftdi0」として認識されていることが解る。
1月4日のブログで、このリモコンは「/dev/ttyU0」でアクセスし、パーミッションが

blue# ls -l /dev/tty* | more
crw-------  1 root  wheel    0, 117  2月  5 20:16 /dev/ttyU0

となっていて、パーミッションを変更しないとそのままでは動作できないことを記していた。
手動で変更しても良いが、システムをリブートした時や、USBを抜き差しした時には元に戻ってしまう。
そこで、システム起動時にパーミッションが「666」となるように、/etc/devfs.confに以下の行を追加した。

own     ttyU*   operator:operator
perm    ttyU*   0666

また、USB抜き差しによる動的変更に関する /etc/devd.conf にも以下の行を追加した。

#
# BUFFALO RemoteStation PC-OP-RS1       by Kouya.Tatsumi 2013/02/05
#
attach 100 {
    device-name "uftdi[0-9]+";
    action "chmod a+rw /dev/ttyU*";
};

変更後に、USBを抜き差しした結果は以下のようになり、先月からの課題は解決した。

blue# ls -l /dev/tty* | more
crw-rw-rw-  1 root  wheel    0, 117  2月  5 20:16 /dev/ttyU0