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の倍数の結果が多いため、根本的に出力されうるデータの量子化が違うのではないか?と思っております。
出力される実際の値はどの範囲で出力されるのでしょうか?
at_koseki
2020年8月25日 15時54分
古関です。
> 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…