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 が存在しなかったりしてできませんでした。
以上ご存じの方がいらっしゃいましたら、ご教示ください。よろしくお願いいたします。
コメント
smogry
at_keitaro.takahashi
高橋です。
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度行ってください)
smogry
at_mitsuhiro.yoshida
2023年7月24日 11時16分
吉田です。
a) に関してコメントいたします。
> a)eth0でsshデバッグをしつつppp0でクラウドストレージにデータアップロード可能となる
> 設定手順がありましたら、ご教示ください。
/etc/ppp/peers/wvdial に "replacedefaultroute" を
追加するとデフォルトルートが ppp0 になるかと思われます。