春雨日記 about me tags

HDUSは接続した後as11loaderを用いてモードを切り替えますが,OpenWRTでも自動で動くようにしました.

実は前recfriioパッケージをビルドした直後にやっていた事です.

メモったままになっていたので投稿…

はじめに

HDUSの一般的な手順ではudevのルールによってプラグイン時にas11loaderを実行していますが,OpenWRTではudevを使用していません.

代わりにHotplugという仕組みが用意されているため,これを使用します.

Hotplug

Hotplugでは様々なトリガで動作させる事が出来ます.

今回はUSBを使用し,接続時にVendorID/ProductIDによってHDUSを識別し,実行するように設定します.

USBデバイスの情報を取得

1
lsusb -v

にて,刺した直後のHDUSの状態を取得します.

そこから

  • idVendor
  • idProduct
  • bcdDevice

をどこかにメモします.

私の物は

  idVendor           0x1738 
  idProduct          0x5211 
  bcdDevice            0.01

こうなっていました.

ルール設定

上記で取得した情報から,ルールを作成します.

/etc/hotplug.d/usb/50-hdpにて

1
2
3
4
5
6
7
8
BINARY="/usr/bin/as11loader"
HDP_PRODID="1738/5211/1"
 
if [ "${PRODUCT}" = "${HDP_PRODID}" ]; then
    if [ "${ACTION}" = "add" ]; then
        ${BINARY}
    fi
fi

こんな感じ.

HDP_PRODIDは最初からVID/PID/bcdDeviceとなっています.

0と小数点は省略し,数字から書き始めると良いようです1

終わりに

無事刺しただけでmirakcが動作可能な状態になりました.

メモに気付かなかったらそのまま消すところだった…