Armadilloフォーラム

電波強度に関して

kes-konishi

2020年8月25日 15時09分

お世話になっております。
KES)小西です。

G3M SoftBank版での質問になります。
電波強度のmmcli -m 0で取得できるsignal qualityに関しての解像度の質問になります。

カーネルのソースでは
quality = CLAMP (quality, 0, 31) * 100 / 31;
のようなRSSIを百分率変換してmmcliの結果として出力していると思われますが、
現状20%単位での解像度が多すぎる状況となっております。
EC25モジュールからのRSSIの解像度が悪いため、このような結果となっているのでしょうか?

というのは、電波強度のスレッシュを
https://armadillo.atmark-techno.com/forum/armadillo/2321
等を参考に実機動作からの安定運用結果から決めたのですが、
20の倍数の結果が多いため、根本的に出力されうるデータの量子化が違うのではないか?と思っております。

出力される実際の値はどの範囲で出力されるのでしょうか?

コメント

古関です。

> EC25モジュールからのRSSIの解像度が悪いため、このような結果となっているのでしょうか?
いいえ。

ModemManagerが実行するATコマンドの仕様差からくる挙動であって
EC25としてはもうすこし細かいオーダーで取得できます。

電波強度の取得方法として、主に以下2つのATコマンドがあります。
ModemManagerの実装的に、AT+CIND?を優先して実行し、
このコマンドに対応していなければAT+CSQを実行するように作られています[※1]。

・AT+CSQ
-> 細かいRSSI値が取れる(百分率で3%程度刻み)

・AT+CIND?
-> 百分率で20%刻み

スマホ等を考えるとアンテナ3本みたいな表示が主なユースケースとなるため、
AT+CIND?の分解能で十分で、こちらが優先実行される思想になっている?と考えています。

もう少し細かく取得する必要がある場合、以下の対処案があります。
・AT+CSQを/dev/ttymxc6等から手動で実行する
・ModemManagerを改造してAT+CSQを実行するようする
・ModemManager/モデム側の設定でAT+CSQを実行するにする?
-> 設定できるか確認中です...何か分かったらご連絡します

[※1]
https://github.com/freedesktop/ModemManager/blob/master/src/mm-broadban…
modem_load_signal_quality()
signal_quality_csq_ready()
normalize_ciev_cind_signal_quality()
あたりを見るとわかります。

[※2] ATコマンド仕様
https://www.arib.or.jp/english/html/overview/doc/STD-T63V12_30/5_Append…