それぞれのデバイスをRaspberry Piで認識させるのは大きな問題ではありませんが、これを同時に起動時に認識させるのは困難でした。
手動で起動後にTWEを後から接続すれば、実は問題は起こりません。このことを手がかかりに(このことが手がかりであることに気づくのにも少し時間を要しましたが)以下のような手順にすればよいことが(実験的に)わかりました。
- (両者を接続した状態で起動)
- この時点でおそらく、TWEだけが正常に認識される
- AK-020は設定をしなければ、sr0が認識された状態で停止
- TWEをunbindとし関連モジュールを削除
- AK-020のsr0をeject→wwan0およびttyUSB0~3が認識される
- TWEをbind
- wvdial等でppp接続
AK-020のunbind/bindは以下のようにして実現できます。
TWEPORT=lsusb -t | grep ftdi_sio | awk -F'[: ]' '{print $11;}'
echo -n “1-1.${TWEPORT}” > /sys/bus/usb/drivers/usb/unbind
/sbin/modprobe -r ftdi_sio
/sbin/modprobe -r usbserial
私の利用環境ではTWEは必ず1-1.?に接続になるので、?の部分だけをスクリプトで抽出しています。
AK-020の認識は以下のようにします。
eject sr0
/sbin/modprobe usbserial vendor=0x15eb product=0x7d0e
modprobeを自動化するために/etc/udev/rules/に書いてしまうとうまくいかないので、ここでスクリプトで起動します。
最後にbindしてTWEを戻します。
echo -n “1-1.${TWEPORT}” > /sys/bus/usb/drivers/usb/bind
あまりスマートな方法ではありませんが、これで両方を正常に認識できます。この方法では同時にデバイス名も固定的に認識することになります。
“USB Modem(AK-020)とIoTアンテナ(TWE-DIP)をRaspberryPiで認識させる手順” への1件の返信