Armadilloフォーラム

ssh接続しているとLTE通信できない

smogry

2023年7月22日 14時14分

お世話になります。
armadillo-iot-a6+拡張ボードでRS232CとRS485を使う機器を作っています。
1.COMポートは外部機器と通信するため、デバッグはeth0からssh接続して行う
2.1のためにeth0を固定アドレス化
3.クラウドストレージにLTE経由でデータをアップロードするためppp0を使用
上記を実現したいのですが、現状ppp0をdialしてもネット接続はeth0から行っているようです。
デバッグポートについてはeth0に拘りはありません。USB-シリアルケーブル経由で可能であれば問題ないです。
プログラムが完成したらeth0は未接続の状態で運用します。

以上のことから、以下2点について質問いたします。
a)eth0でsshデバッグをしつつppp0でクラウドストレージにデータアップロード可能となる
 設定手順がありましたら、ご教示ください。
b)シリアルコンソールをttyUSB0に変更できる設定手順がありましたら、ご教示ください。
※ b)につきましては、https://armadillo.atmark-techno.com/forum/armadillo/3079 
 を参照しましたが、カーネルコンフィグの項目が異なっていたり、armadillo-iot-a6上に
 /etc/inittab が存在しなかったりしてできませんでした。

以上ご存じの方がいらっしゃいましたら、ご教示ください。よろしくお願いいたします。

コメント

at_mitsuhiro.yoshida

2023年7月24日 11時16分

吉田です。

a) に関してコメントいたします。

> a)eth0でsshデバッグをしつつppp0でクラウドストレージにデータアップロード可能となる
>  設定手順がありましたら、ご教示ください。

/etc/ppp/peers/wvdial に "replacedefaultroute" を
追加するとデフォルトルートが ppp0 になるかと思われます。

お世話になります。
ご教示頂いた内容で、ppp0がデフォルトになり、ppp0経由でAWSに接続できるようになりました。
ありがとうございました。

> 吉田です。
>
> a) に関してコメントいたします。
>
> > a)eth0でsshデバッグをしつつppp0でクラウドストレージにデータアップロード可能となる
> >  設定手順がありましたら、ご教示ください。
>
> /etc/ppp/peers/wvdial に "replacedefaultroute" を
> 追加するとデフォルトルートが ppp0 になるかと思われます。

at_keitaro.takahashi

2023年7月24日 12時54分

高橋です。

b)については、カーネルコンフィグの変更及びビルドを行うことで設定可能です。
製品マニュアルに従ってmenuconfigを実行し、
"USB Serial Console device support"を有効にしてください。
また、使用したいUSBシリアル変換ケーブルがArmadilloで認識されない場合は、対応するカーネルコンフィグも有効にする必要があります。
例として、CH341搭載のケーブルをご使用の場合は、"USB Winchiphead CH341 Single Port Serial Driver"を有効にしてください。

どちらのコンフィグも、menuconfigから以下を選択すると表示されます。

-> Device Drivers
  -> USB support
    -> USB Serial Converter support

ビルド及びビルドしたカーネルをArmadilloに配置したら、U-Bootの環境変数で

=> setenv optargs console=ttyUSB0,115200
=> saveenv

と設定するとコンソールが変更されます。

この状態だと、Armadilloの起動時にUSBシリアル変換ケーブルを接続していないとコンソールとして利用できませんが、
以下のようにスクリプトを配置することでArmadilloの起動後にケーブルを接続してもコンソールが利用できるようになります。

root@armadillo:~# cat /etc/udev/rules.d/90-usb-serial-devices.rules
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_interface", ACTION=="bind", RUN+="/usr/bin/start_usb_console.sh"
 
root@armadillo:~# cat /usr/bin/start_usb_console.sh
#!/bin/bash
stty -F /dev/ttyUSB0 115200
systemctl start serial-getty@ttyUSB0.service
 
root@armadillo:~# chmod +x /usr/bin/start_usb_console.sh

(スクリプトの配置後、再起動を1度行ってください)

お世話になります。
ご教示頂いた方法で、デバッグポートをUSBシリアルケーブルに切り替えることが出来ました。
ありがとうございました。