Armadilloフォーラム

ModemManagerのデバッグログ

dev.sanko

2021年7月13日 12時05分

お世話になります。
LTE接続が切れることがあり原因を調査しております。
ModemManagerデバッグログを取得したのですが、見方をご教授いただけないでしょうか。

これまで「signal quality updated (100)」は電波強度は良いと理解していたのですが、
実際には「Could not parse signal quality results」とあることから、電波状況は悪いのでしょうか。

ーーー 以下、LTE接続が切れる直前のデバッグログです ーーー

<debug> loading signal quality...
<debug> Signal quality value not updated in 60s, marking as not being recent
<debug> Modem /org/freedesktop/ModemManager1/Modem/0: signal quality updated (100)
<debug> loading signal quality...
<debug> Couldn't refresh signal quality: 'Could not parse signal quality results'
<debug> loading signal quality...
<debug> Signal quality value not updated in 60s, marking as not being recent
<debug> Couldn't refresh signal quality: 'Could not parse signal quality results'
<debug> loading signal quality...
<debug> Couldn't refresh signal quality: 'Could not parse signal quality results'
<debug> loading signal quality...
<debug> Couldn't refresh signal quality: 'Could not parse signal quality results'
<debug> loading signal quality...
<debug> Modem /org/freedesktop/ModemManager1/Modem/0: signal quality updated (100)
<debug> loading signal quality...
<debug> Couldn't refresh signal quality: 'Could not parse signal quality results'
コメント

at_mitsuhiro.yoshida

2021年7月13日 13時17分

吉田です。

Couldn't refresh signal quality: 'Could not parse signal quality results'

は 電波品質を問い合わせる AT コマンドの応答のパースに失敗した際に出力されますので、
一概に電波状況が悪いとは言い切れません。
syslog などで、この前に表示されている AT コマンドのレスポンスや、
この状況になる前のログを確認すると経緯がわかるかもしれません。

よろしくお願いします。

dev.sanko

2021年7月21日 15時42分

吉田様
コメントありがとうございます。
syslogからATコマンドのやりとりをとってみましたが、参考になるでしょうか。

ModemManager[2790]: <debug> loading signal quality...
ModemManager[2790]: <debug> (ttyACM0) device open count is 2 (open)
ModemManager[2790]: <debug> (ttyACM0): --> 'AT+CSQ<CR>'
ModemManager[2790]: <debug> (ttyACM0): <-- '<CR><LF>+CSQ: 31,99<CR><LF><CR><LF>OK<CR><LF>'
ModemManager[2790]: <debug> (ttyACM0) device open count is 1 (close)
ModemManager[2790]: <debug> Modem /org/freedesktop/ModemManager1/Modem/0: signal quality updated (100)
ModemManager[2790]: <debug> (ttyACM0): <-- '<CR><LF>^SCTM_B: 1<CR><LF>'
ModemManager[2790]: <debug> (ttyACM0): <-- '<CR><LF>^SCTM_B: 0<CR><LF>'
ModemManager[2790]: <debug> loading signal quality...
ModemManager[2790]: <debug> (ttyACM0) device open count is 2 (open)
ModemManager[2790]: <debug> (ttyACM0): --> 'AT+CSQ<CR>'
ModemManager[2790]: <debug> (ttyACM0): <-- '<CR><LF>+CSQ: 31,99<CR><LF><CR><LF>OK<CR><LF>'
ModemManager[2790]: <debug> (ttyACM0) device open count is 1 (close)
ModemManager[2790]: <debug> Couldn't refresh signal quality: 'Could not parse signal quality results'
ModemManager[2790]: <debug> (ttyACM0): <-- '<CR><LF>^SCTM_B: 1<CR><LF>'
ModemManager[2790]: <debug> (ttyACM0): <-- '<CR><LF>^SCTM_B: 0<CR><LF>'
ModemManager[2790]: <debug> loading signal quality...
ModemManager[2790]: <debug> (ttyACM0) device open count is 2 (open)
ModemManager[2790]: <debug> Signal quality value not updated in 60s, marking as not being recent
ModemManager[2790]: <debug> (ttyACM0): --> 'AT+CSQ<CR>'
ModemManager[2790]: <debug> (ttyACM0): <-- '<CR><LF>+CSQ: 31,99<CR><LF>'
ModemManager[2790]: <debug> (ttyACM0): <-- '<CR><LF>OK<CR><LF>'
ModemManager[2790]: <debug> (ttyACM0) device open count is 1 (close)
ModemManager[2790]: <debug> Couldn't refresh signal quality: 'Could not parse signal quality results'
ModemManager[2790]: <debug> (ttyACM0): <-- '<CR><LF>^SCTM_B: 1<CR><LF>'
ModemManager[2790]: <debug> (ttyACM0): <-- '<CR><LF>^SCTM_B: 0<CR><LF>'
ModemManager[2790]: <debug> (ttyACM0): <-- '<CR><LF>^SCTM_B: 1<CR><LF>'

at_mitsuhiro.yoshida

2021年7月27日 10時28分

吉田です。

パースに失敗しているタイミングでの AT+CSQ で取得した
rssi が 31 (-51 dBm or greater)ですので、
電波強度としては問題ないと思います。

パースに失敗している要因は調査してみます。
お手数ですが、お使いになっている modemmanager のバージョンと
LTE モデムのファームウェアバージョンを教えていただけますでしょうか。
以下のコマンドで表示されます。

modem manager のバージョン

root@armadillo:~# dpkg -l | grep modemmanager

LTE モデムのファームウェアバージョン
以下の☆部分を入力してその結果を返信ください。
それ以外の行は自動的に表示されます。

root@armadillo:~# cu -l /dev/ttymxc6 -s 115200 ☆
Connected.
ati1 ☆
ati1
Cinterion
ELS31-J
REVISION 4.3.2.1b
A-REVISION 4.3.3.0-36584
L-REVISION 3.7.6
 
OK
~. ☆ (チルダ ドット で cu から抜けます)

また、以下のログでは、
^SCTM_B: 1 が LTE モデムの高温警告で
^SCTM_B: 0 が高温警告の解除になっております。
ご利用になられている環境はどのような状況でしょうか。

ModemManager[2790]:  (ttyACM0): <-- '^SCTM_B: 1'
ModemManager[2790]:  (ttyACM0): <-- '^SCTM_B: 0'

dev.sanko

2021年8月6日 14時07分

modem manager のバージョンは以下の通りです。

root@armadillo:~# dpkg -l | grep modemmanager
ii  modemmanager                  1.6.4-1atmark8                    armhf        D-Bus service for managing modems

LTE モデムのファームウェアバージョンは以下の通りです。

root@armadillo:~# cu -l /dev/ttymxc6 -s 115200
Connected.
ati1
Cinterion
ELS31-J
REVISION 4.3.2.1b
A-REVISION 4.3.3.0-36584
L-REVISION 3.7.6
 
OK

> ご利用になられている環境はどのような状況でしょうか。
樹脂製のケースにArmadilloを入れ、日光があたる室外に設置しております。

dev.sanko

2021年8月25日 19時16分

お世話になります。
追加で質問があります。

別の機体にて、^SCTM_B: 1 、^SCTM_B: 0の高温警告・解除が頻発したあと、下記のログが記録され、ModemManagerが終了しております。

ModemManager[2790]: <debug> (ttyACM0): <-- '<CR><LF>^SCTM_B: 2<CR><LF><CR><LF>^SHUTDOWN<CR><LF>'

高温警告が短時間に頻発したことによって、ModemManagerが停止されることはあるのでしょうか。

at_mitsuhiro.yoshida

2021年8月26日 9時55分

吉田です。

本件に関して別途お買い上げの代理店からご連絡したします。
ご迷惑をおかけしますがよろしくお願いします。

dev.sanko

2021年8月26日 10時42分

承知いたしました。ご連絡をお待ちしております。

五月雨式で申し訳ございませんが、もう一つご質問があります。
モデムの高温警告である'^SCTM_B: 1'はモデムの温度がいくつになったときに発生するのでしょうか。

dev.sanko

2021年8月26日 11時05分

また、モデムの温度を測定する場合、どの箇所をどのように測定すればよろしいでしょうか。

at_shinya.koga

2021年8月29日 9時23分

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

dev.sankoさん:
>また、モデムの温度を測定する場合、どの箇所をどのように測定すればよろしいでしょうか。

モデム(LTE モジュール; ELS31-J)のパッケージ表面温度は、Armadillo-IoT G3L のサブユニット A 面にある、CON4, CON5 の隣にあるパッケージの表面を計測することで得られると思いますが、その温度値は、ELS31-J 自身が計測する温度と異なる可能性が高いと思います:
 https://manual.atmark-techno.com/armadillo-iot-g3l/armadillo-iotg-g3l_p…

# 同様のことは、CPU/SoC 自身が計測する「CPU/SoC チップ温度」についても言えるでしょう。

at_shinya.koga

2021年8月29日 9時17分

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

dev.sankoさん(2021年8月26日 10時42分):
>承知いたしました。ご連絡をお待ちしております。
>
>五月雨式で申し訳ございませんが、もう一つご質問があります。
>モデムの高温警告である'^SCTM_B: 1'はモデムの温度がいくつになったときに発生するのでしょうか。

こちらについては、モデム(LTE モジュール)のドキュメントをご覧ください。
Armadillo-IoT G3L が搭載している LTE モジュールは、「ハードウェア仕様」に記載しています通り、タレス DIS 製の ELS31-J です:
 https://armadillo.atmark-techno.com/armadillo-iot-g3l/specs

^SCTM_B の URC (Unsolicited Result Code) 通知仕様は、thalesgroup.com にある同製品のページで公開されている AT コマンドリファレンスに記載されています:
 https://www.thalesgroup.com/en/markets/digital-identity-and-security/io…
 https://m2m-communication.gemalto.com/Thales_ELS31j_ATC

この AT コマンドリファレンスの、"16.3 AT^SCTM Critical Operating Temperature Monitoring" 節の "Unsolicited Result Code" の節に、^SCTM_B のパラメータ値の説明がありますが、1 は、

 1 Above upper temperature alert limit

と記載されています。この upper temperature alert limit の値が何かについては、AT コマンドリファレンスには記述がなく、この節の冒頭に、

 Refere to "ELS31-J Hardware Interface Description"[2] for specifications on critical temperature ranges.

と記載されています。この、Hardware Interface Description (HID) も、上述した ELS31-J の製品ページで公開されており、そちらに、警告閾値が記載されています:
 https://m2m-communication.gemalto.com/Thales_ELS31J_HID

HID の "3.5 Operating Temperature" にある "Table 14: Board temperature" を見ると、"Normal operation" の最大値が +85℃ となっています。従って、LTE モジュール(ELS31-J)が自身で計測する温度が +85℃ を超えると、^SCTM_B: 1 による通知が行われるのだと思います。