2022年4月19日火曜日

DRAGINO の LPS8 で SIMのドングルを使う

 前回の記事では、DRAGINO の LPS8 を Azure IoT Hub に接続するところをやったんですが、実はいろいろあって今は AWS IoT の方に接続しております。ちなみに Azure の方は前回の記事のように手こずったんですが、AWS の方は簡単に接続できましたので説明は無しです。

今回は LPS8 に SIM の USBドングルを挿して何とか通信をしたいという内容になります。使用するドングルは AK-020 で SIM は SORACOM を使います。

こちらに先人のありがたい記事が掲載されております。

Dragino社製IoTゲートウェイ LG01-JPを、SORACOM スターターキット(3G USBドングル AK-020)を使ってSORACOM Airに接続する。

Dragino社製IoTゲートウェイ LG01-JPを、SORACOM スターターキット(3G USBドングル AK-020)を使ってSORACOM Airに接続する。その2

今回使用する LPS8 とは異なる機種ですし、のっけからカーネルの更新があるのでちょっと無理そうかなーと思って手を付けていなかったんですが、やってみたら意外といけたので備忘録にしたいと思います。

AK-020 は、USB に挿し込むと CD-ROM として認識され、それをイジェクトすると USBモデムになる仕様になっていますので、まずは USBモデムとして認識されるところまでをやります。

現時点でのファームの最新は lgw-5.4.1644990565 です。LPS8 に AK-020 を挿して SSH で接続し、 lsusb をやると一応デバイスとして認識しているようです。

# lsusb
Bus 001 Device 003: ID 15eb:a403
Bus 001 Device 002: ID 1a40:0101 Terminus Technology Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

VendorID が 15eb で ProductID が a403 が AK-020 の CD-ROM 側の ID になります。これをイジェクトすると、ProductID がUSBモデムの側の 7d0e に変わります。

で、イジェクトをしたいんですが eject パッケージも入らないのでどうしたもんかと調べてたら usb_modeswitch というこういうときに使うであろうモード切り替え用のパッケージがあったのでこれを使ってみます。が、何とすでにインストールされていました。OpenWRT では設定ファイルは /etc/usb-mode.json だそうです。見てみると確かにあります。ここに周りを参考におもむろに追記してみます。

                "15eb:a403": {
                        "*": {
                                "t_vendor": 5611,
                                "t_product": [ 32104 ],
                                "mode": "StandardEject",
                                "msg": [  ]
                        }
                }

t_vendor と t_product は整数で指定されているので、15eb と 7d0e をそれぞれ10進数にした 5611 と 32104 を指定します。追記後、リブートして再度 lsusb してみると、

# lsusb
Bus 001 Device 003: ID 15eb:7d0e
Bus 001 Device 002: ID 1a40:0101 Terminus Technology Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

おー!、変わりました。さらに、デバイスをUSBシリアルとして認識してもらうため上記1個目の記事の3番の前半部分をやります(/etc/modules.d/80-usrserial の作成)。

ここまでくれば LPS8 の設定画面でドングルの認識されてるかなと思ったんですが、残念ながら認識してもらえませんでした。


仕方がないので手動で設定します、手順は上記1個目の記事の5番以降になります(ありがたや)。そうすると

キター! (写真じゃわかりませんがドングルの緑が点滅しています。)無事にうまく動作しました。よかった。