Armadilloフォーラム

Armadillo-640(Buster) minicomで文字化けする。

yabumoto

2021年6月7日 17時52分

お世話になっております。

Armadillo-640のUART8にLTEモジュールを接続しています。
PCのコンソールからminicomを使用して動作確認しようとしているのですが、
文字化けが発生しています。

PC ⇔ Armadillo ⇔ LTEモジュール
PC ⇔ Armadillo: ETH(SSH接続) ※コンソール(UART)でも同じ現象
Armadillo ⇔ LTE間: UART8 パラメータは合わせてます(115200 8N1)。

送受信するコマンドは成立しているので、
PC ⇒ Armadillo ⇔ LTEモジュール は問題なさそうです。
Armadillo ⇒ PC で化けている?

以下オプションで起動しています。

[ATDE ~]$ sudo LANG=C minicom --setup
 
Welcome to minicom 2.7.1
 
OPTIONS: I18n
Compiled on May  6 2018, 10:36:56.
Port /dev/ttymxc7, 17:22:28
 
Press CTRL-A Z for help on special keys
 
yTE0                     ←ATE0
・K                        ←OK
qt234577・         ← 0123456789 at
OK
at<                       ← at0
ERROR

原因特定できず困っています。
大変お手数ですが、回避方法ご教授お願い致します。

コメント

at_akihito.irie

2021年6月9日 14時06分

入江です。

> PC ⇔ Armadillo: ETH(SSH接続) ※コンソール(UART)でも同じ現象

シリアルでもsshでも同様に文字化けるのであるならば、PC⇔Armadillo間での
文字化けは考えにくいと思います。

つきましては、cuなどのminicom以外のアプリケーションでLTEモジュールと
Armadillo間の通信を試してみていただけますでしょうか。

cuは以下のコマンドでインストール可能です。

[armadillo]# apt install cu

以下は実行例です。

[armadillo]# cu -s 115200 -l /dev/ttymxc7 --nostop

詳しくはman cuを参照してください。

以上、よろしくお願いいたします。

入江様
お世話になっております。

ご回答ありがとうございます。
早速ですが試してみました。
結果変わらずです。

root@armadillo:~# cu -s 115200 -l /dev/ttymxc7 --nostop
Connected.
aatt       ← at(これは正しい)
輜K         ← OK
aatt       ← at
・K         ← OK
}att00   ← at0
ERROR
812375況・aavt   ←0123456789at
OK
增vt91               ←at1
鹽RROR            ←ERROR

このほか、もっと長文のATコマンドも間違いなく処理しているようです。
(文字化けは発生していますが・・)

どのフェーズで文字化けが発生しているのでしょうか?

以上、ご確認の程何卒宜しくお願い致します。

at_akihito.irie

2021年6月9日 14時52分

入江です。

以下のコマンドでも試していただけますでしょうか。

[armadillo]# minicom -D /dev/ttymxc7 -o

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

以下、確認しましたが変化なしです。

root@armadillo:~# minicom -D /dev/ttymxc7 -o
 
 
Welcome to minicom 2.7.1
 
OPTIONS: I18n
Compiled on May  6 2018, 10:36:56.
Port /dev/ttymxc7
 
Press CTRL-A Z for help on special keys
 
aattI
OK
Oatt?                 ←at
OK
Ta~t<0i                 ←at0
ERROR
}att11                    ←at1
ERROR
>no345678=aattI                ←0123456789at
OK

以上、ご確認の程宜しくお願い致します。

at_akihito.irie

2021年6月10日 10時34分

入江です。

何度も申し訳ありませんが、一応下記も試していただけますでしょうか。

[armadillo]# LANG=C minicom -D /dev/ttymxc7 -o

入江様
お世話になっております。

色々とありがとうございます。

結果変わらずでした。

root@armadillo:~# LANG=C minicom -D /dev/ttymxc7 -o
 
Welcome to minicom 2.7.1
 
OPTIONS: I18n
Compiled on May  6 2018, 10:36:56.
Port /dev/ttymxc7
 
Press CTRL-A Z for help on special keys
 
aatt
OK
aatt
・K
}at80
ERROR
aatt?1
ERROR
01234・79aavt     ←0123456789at
・K                         ←OK

以上、ご確認の程宜しくお願い致します。

at_shinya.koga

2021年7月6日 7時20分

アットマークテクノの古賀です。

yabumotoさん(2021年6月10日 11時43分):
>色々とありがとうございます。
>
>結果変わらずでした。

いくつか確認させて下さいませ。

1.) お使いの LTE モジュールですが、最初のご質問で
>Armadillo-640のUART8にLTEモジュールを接続しています。
 と書いていらっしゃいましたので、Armadillo-640 の CON9 の、ピン15と16を UART8 の TX と RX に割り当てていらっしゃるという認識で、合っているでしょうか?

2.) (1) が YES の場合、お使いの LTE モジュールとは、CON9 のピン15と16以外に、Armadillo の I/O ピンのうち、何をどう接続していらっしゃるでしょうか?

3.) minicom 起動後、CTRL-A E を入力してローカルエコーをオンにしてから AT コマンド入力した場合、出力は、どのようになるでしょうか?

4.) minicom を --setup オプション付きで起動するかまたは、--setup オプション無しで起動した後 CTRL-A O で configuration メニューを表示して、[Serial port setup] メニュー画面で、[F - Hardware Flow Control] を "No"、[G - Software Flow Conotrol] を "Yes" に変えて設定変更した後に、AT コマンドを入力した場合は、どうなるでしょうか?

これらの確認結果で、要因を切り分ける手がかりになればと思います。

他に要因を切り分けるアプローチとしては、/dev/ttymxc7 に対する入出力を行うプログラムを作り、/dev/ttymxc7 に送信する AT コマンドを printf() で出力したのち、受信したレスポンスを printf() してみる、というのが考えられます:
https://armadillo.atmark-techno.com/faq/serial-programming

/dev/ttmymxc7 に対して入出力するプログラムで AT コマンド送信とレスポンス受信を行い、送信するコマンドと受信文字列を出力した時に、もし受信文字列だけが文字化けするのであれば、LTE モジュールとの接続、特に UART8 の RX との接続に要因がある可能性が疑われるかと思います。