Armadilloフォーラム

USB ドングルによるインターネット回線通信方法

manabu-yoshioka-arc

2025年1月8日 11時28分

==========
製品型番:armadillo-iot-a6
Debian/ABOSバージョン:Linux armadillo 4.14-at65 #1 Mon Jan 29 14:43:02 JST 2024 armv7l GNU/Linux
カーネルバージョン:4.14-at65
3G/LTE モジュール情報 (Debianのみ):
その他:
==========
armadillo-iot-a6 を利用、6台の機器を現場で稼働させ出しました。
7台目でトラブルが発生。ppp0 回線が確立できません。キャリアは docomo を使用。300m ほど移動すると問題なく回線確立・通信できることからソフトウェア・ハードウェアとも問題なしと判断しています。つまり docomo での LTE-M の接続がうまくいかないのではないかと推定しています。

他キャリア(KDDI, ソフトバンク) での対応も考慮していますが、それもダメな場合を想定し、かつスマートフォンでの docomo 回線のアンテナ本数(電波強度)は4本も立っていることから、USBドングルに SIM カードを差し込んで、USB 経由で armadillo をインタネット回線に接続できないかと考えています。

USB ドングルを armadillo に差し込むと、自動で認識は始まり ip address で確認すると usb0 が出てきます。
しかし down 表示のままでネット接続はできていないようです。

armadillo-iot-a6 で、usb ドングル経由でネット回線に接続する方法を教えてください。
またその際、ppp0 も無効にする方法を教えてください。

よろしくお願いします。

コメント

古関です。

> armadillo-iot-a6 で、usb ドングル経由でネット回線に接続する方法を教えてください。
下記、教えていただけますでしょうか。
・使用しているUSBドングルの型番
・以下コマンドの結果
# lsusb
# ls /dev/tty*

動かし方は色々ありまして、USBドングル情報を見ながらどれが適切か判断できたらなと。
・ModemManagerを入れてしまう方法
 → ModemManager自体がそのUSBドングルに対応していないと動かせません
・wvdial等で動かす
・CHATスクリプトなど手動で書いて動かす

新しいネットワークインターフェースusb0が見えたという事なので、
ATコマンドでAPN/User/PasswordさえUSBドングルに打つことができれば
普通のethernetデバイスとして見える形でLTE接続できると思います。

> またその際、ppp0 も無効にする方法を教えてください。
これは、armadillo-iot-a6標準搭載のLTEモジュール機能を無効にする
という意図で良いでしょうか。

overlayfs無効状態で以下のコマンドを実行すると、
標準搭載のLTEを無効にできます(電源を入れ直しても継続)。

# systemctl disable aiot-modem-controld.service

> 7台目でトラブルが発生。ppp0 回線が確立できません。キャリアは docomo を使用。
> 300m ほど移動すると問題なく回線確立・通信できることから
> ソフトウェア・ハードウェアとも問題なしと判断しています。
> つまり docomo での LTE-M の接続がうまくいかないのではないかと推定しています。
その場所で掴んだdocomoの基地局がLTE-Mに対応しておらず、
繋がらないないのかもしれません。

同じ場所でKDDIやsoftbankだと上手くいくかもしれませんが、同様の事が起きる可能性はあると思います。

古関です。

> ・以下コマンドの結果
> # lsusb
ごめんなさい。標準だとlsusb入っていないですね。
以下でインストールしてください。

# apt-get install usbutils

manabu-yoshioka-arc

2025年1月8日 23時29分

早速のご回答、ありがとうございます。いただいた質問に対する回答です。

使用したいUSBドングル: 株式会社ピクセラ PIX-MT100

lsusb と dev/tty* の結果

arcnohara@armadillo:~$ lsusb
Bus 002 Device 002: ID 15a9:002d Gemtek WLTUBA-107 [Yota 4G LTE]
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
 
arcnohara@armadillo:~$ ls /dev/tty*
/dev/tty    /dev/tty19  /dev/tty3   /dev/tty40  /dev/tty51  /dev/tty62
/dev/tty0   /dev/tty2   /dev/tty30  /dev/tty41  /dev/tty52  /dev/tty63
/dev/tty1   /dev/tty20  /dev/tty31  /dev/tty42  /dev/tty53  /dev/tty7
/dev/tty10  /dev/tty21  /dev/tty32  /dev/tty43  /dev/tty54  /dev/tty8
/dev/tty11  /dev/tty22  /dev/tty33  /dev/tty44  /dev/tty55  /dev/tty9
/dev/tty12  /dev/tty23  /dev/tty34  /dev/tty45  /dev/tty56  /dev/ttyMux0
/dev/tty13  /dev/tty24  /dev/tty35  /dev/tty46  /dev/tty57  /dev/ttyMux1
/dev/tty14  /dev/tty25  /dev/tty36  /dev/tty47  /dev/tty58  /dev/ttyMux2
/dev/tty15  /dev/tty26  /dev/tty37  /dev/tty48  /dev/tty59  /dev/ttymxc0
/dev/tty16  /dev/tty27  /dev/tty38  /dev/tty49  /dev/tty6   /dev/ttymxc1
/dev/tty17  /dev/tty28  /dev/tty39  /dev/tty5   /dev/tty60  /dev/ttymxc2
/dev/tty18  /dev/tty29  /dev/tty4   /dev/tty50  /dev/tty61

ip address の結果(トラブルの現場ではなく東京での測定ですので ppp0も繋がっている状態です)

arcnohara@armadillo:~$ ip address
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
    link/ether 00:11:0c:2a:53:22 brd ff:ff:ff:ff:ff:ff
3: sit0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN group default qlen 1000
    link/sit 0.0.0.0 brd 0.0.0.0
4: ppp0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 3
    link/ppp 
    inet ***.***.***.**** peer 192.168.50.1/32 scope global ppp0
       valid_lft forever preferred_lft forever
5: usb0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 82:02:9c:71:27:f1 brd ff:ff:ff:ff:ff:ff

色々手段がありますとのことですが、私の側の希望としては、ATDE での Linux 再ビルドなし=御社出荷時のインストールイメージだけでできる方法を希望します。apt-get でのモジュールの追加は現在でも行なっており、問題ございません。理由は製造部門での管理コストの軽減で、ATDEによる専用インストールイメージの作成や管理の手順を省きたいためです。

よろしくお願いいたします。

古関です。

確認ありがとうございます。

PIX-MT100調べてみたところ、一般的なUSB-LTEドングルとは違い、
ルータっぽい設定ができる製品のようです。
この辺りが参考になりそうです、
https://asukiaaa.blogspot.com/2016/05/raspberry-pipixelalteusbmt100.html
https://nllllll.com/raspberrypi/raspberry-pipix-mt100-lte-router/

まずWindowsPCに接続して、ブラウザからUSBドングルにアクセスし
APN/user/password等のSIM設定をしておく。

その後、USBドングルをArmadilloに接続すると
Linuxがcdc-etherとして認識するので
あとはイーサーネットデバイスusb0をdhcp設定で立ち上げれいいように見えます。

/etc/network/interfacesを編集して以下2行追記

auto usb0
iface usb0 inet dhcp

ネットワークデバイスをdown/up

[armadillo ~]# ifdown usb0
[armadillo ~]# ifup usb0

manabu-yoshioka-arc

2025年1月14日 18時21分

`/etc/network/interfaces` を書き換え、

# ifup usb0

を実行することで、無事 MT-100 を利用した usb0 で通信を行うことができました。

結果

arcnohara@armadillo:~$ ip address
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
    link/ether 00:11:0c:2a:53:25 brd ff:ff:ff:ff:ff:ff
3: sit0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN group default qlen 1000
    link/sit 0.0.0.0 brd 0.0.0.0
4: usb0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 82:02:9c:71:27:f1 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.18/24 brd 192.168.0.255 scope global dynamic usb0
       valid_lft 604737sec preferred_lft 604737sec
    inet6 fe80::8002:9cff:fe71:27f1/64 scope link 
       valid_lft forever preferred_lft forever
arcnohara@armadillo:~$ 
arcnohara@armadillo:~$ 
arcnohara@armadillo:~$ sudo ping -c 10 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=117 time=115 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=117 time=58.5 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=117 time=56.7 ms
64 bytes from 8.8.8.8: icmp_seq=4 ttl=117 time=54.5 ms
64 bytes from 8.8.8.8: icmp_seq=5 ttl=117 time=52.6 ms
64 bytes from 8.8.8.8: icmp_seq=6 ttl=117 time=42.7 ms
64 bytes from 8.8.8.8: icmp_seq=7 ttl=117 time=49.1 ms
64 bytes from 8.8.8.8: icmp_seq=8 ttl=117 time=47.6 ms
64 bytes from 8.8.8.8: icmp_seq=9 ttl=117 time=45.8 ms
64 bytes from 8.8.8.8: icmp_seq=10 ttl=117 time=44.4 ms
 
--- 8.8.8.8 ping statistics ---
10 packets transmitted, 10 received, 0% packet loss, time 24ms
rtt min/avg/max/mdev = 42.662/56.735/115.312/20.167 ms

ありがとうございますと言いたいところなのですが、もう一つ聞きたいことがございまして、お教えください。

`/etc/network/interfaces` を編集し、通信できるようになったアルマジロに対し `sudo reboot` または電源を入れ直すと、
`/etc/network/interfaces` から usb0 の記載がなくなってしまい、以下の内容となってしまいます。

# interfaces(5) file used by ifup(8) and ifdown(8)
 
allow-hotplug eth0
auto lo
iface lo inet loopback
iface eth0 inet dhcp

usb0 の設定をデフォルトで有効とする方法を教えていただけますでしょうか。もちろん ifup も起動とともに設定しておきたいです。

PS: docomo の SIM カードで通信できなかった現場ですが、au(KDDI) の SIM カードで通信できました。