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