Armadilloフォーラム

WLAN+BTコンボモジュール代替部品(評価用サンプルモジュール)にてWifi通信中、Bluetooth制御コマンド送信後にWifi通信が途切れる

p2003001

2022年12月8日 17時37分

Armadillo-X1に搭載しているWLAN+BT コンボモジュール代替部品の評価用サンプルモジュールを使用しての動作評価。

「Armadillo-IoTゲートウェイG3/Armadillo-X1WLAN 802.11ax+BT5.0 対応製品移行ガイド」に沿ってソフト移行作業を行い、
動作確認をしている中で以下の異常動作がありました。
本件について考えられる要因がございましたらご教授願います。

1.対象基板
  Armadillo-X1(型番:AX1100)
  OS(カーネル:Linux4.9、ディストリビューション:Debian GNU/Linux10)
  評価用サンプルモジュールに乗せ替え
  ※移行ガイド P9、10内容を実施。
  ・開発環境(ATDE8)にパッケージの追加インストール
  ・Debianユーザーランドにパッケージの追加インストール
  ・Linuxカーネルv26:ソースファイル/イメージファイルの2パターンで確認
  
2.現象内容
  Armadillo-X1をアクセスポイントとして起動、クライアント(PC)とWi-Fi接続。
  Bluetoothのデバイススキャンコマンドを実行後、Wi-Fi通信が切断される(毎回必ず発生)  
  ※アクセスポイント制御
   hostapd を起動(コンフィグレーションは以下ブログ参照)
   https://armadillo.atmark-techno.com/blog/armadilloAP-to-wifi-station/jp

3.発生状況
  ①システム起動後、アクセスポイントを起動(図1)
  ②クライアント(PC)とWi-Fi接続(通信正常)
  ③Buletoorh接続処理
   スキャンコマンド(hcitool scan)実行 ⇒Wi-Fi通信切断(図2)
   スキャンコマンド(bluetoothctl scan on)実行 ⇒Wi-Fi通信切断(図3ー1,2)

その他の確認項目
   ①Wifi通信切断時、hostapdサービスは落ちていない(切断後、クライアントから接続しにいくと正常に接続)
   ②以下のBluetooth bindコマンドを実行した場合は、切断されない。
    rfcommバインドコマンド(rfcomm bind xxxx)実行 ⇒Wi-Fi通信正常

ファイル ファイルの説明
20221208_QA.pdf 補足資料:本文 > 発生状況のコンソール表示内容
コメント

at_kazutaka.bito

2022年12月9日 11時43分

尾藤です。

当社環境で動作確認してみましたが、再現できませんでした。
恐らく何か(環境等に)違いがあると思います。極力合わせた状態で確認したいので、いくつか教えてください。

- WPEB-265AXI(BT) [B33]にアンテナ(2本)は接続されていますか?
-
Armadillo-X1にアドオン/USBデバイスや拡張ボード等が接続されていますか?
- hostapdの設定ファイルを提供いただくことは可能ですか?

こちらで動作確認したhostapdの設定ファイルを添付します。

ファイル ファイルの説明
hostapd.conf

p2003001

2022年12月13日 14時30分

コメントありがとうございます。以下、回答致します。

> - WPEB-265AXI(BT) [B33]にアンテナ(2本)は接続されていますか?
 接続されています。
> - Armadillo-X1にアドオン/USBデバイスや拡張ボード等が接続されていますか?
 アドオンモジュール:RS232Cを接続。
> - hostapdの設定ファイルを提供いただくことは可能ですか?
 設定ファイルを添付します。

※また前回の投稿内容について追加情報と訂正
1)追加情報
 ①クライアントPC側の接続条件:「自動的に接続」にチェックなし状態で検証(図4)
 ②代替モジュール実装基板ではWi-Fi接続時にログが出力されるようになった(図5、6)
2)訂正
 前回投稿内容について一部訂正。
>2.現象内容
>  Armadillo-X1をアクセスポイントとして起動、クライアント(PC)とWi-Fi接続。
>  Bluetoothのデバイススキャンコマンドを実行後、Wi-Fi通信が切断される(毎回必ず発生) 
 「毎回必ず発生」ではなく、以下4パターンのケースを確認。
  ① hcitool scan → PC側WiFi状態:切断(disassociatedログあり)
  ② hcitool scan → PC側WiFi状態:切断(disassociatedログなし)
  ③ hcitool scan → PC側WiFi状態:接続継続([dhd] CFG80211-ERRORログ(2行)が出る)
    →その後 hcitool scan の2~4回目:切断される(図7)
  ④ hcitool scan → PC側WiFi状態:接続継続(ログなし)
    →その後 hcitool scan の2~4回目:切断される

ファイル ファイルの説明
hostapd.conf 提供頂いたファイルに基づいて作成・実装し再度検証を実施。→現象発生(内容変わらず)
hostapd__original.conf hostapd.confファイルのデフォルト設定はそのまま、必要なところだけ編集して利用。(前回投稿した問い合わせの際に利用したconfファイルです)
20221213_QA.pdf 本文記載の図の説明資料

at_mizo

2022年12月13日 15時25分

溝渕です。

情報をご提供いただきありがとうございます。再現できました。

これから原因の特定を行います。ひとまずdebug logを有効にしてみたところ、恐らくAP側でSTAの削除を行っているようでした。

ワークアラウンドできましたら、報告します。

at_mizo

2022年12月15日 10時37分

溝渕です。

BT利用時にDeauthenticationが発生し、切断されていました。

パラメータを変更しつつ再現確認を継続したところ、いくかの法則性を見付けました。こちらで発生している現象と同じであるか確認する為、ご確認ください。

- 5GHz帯を利用した場合、再現しない
- 電波環境が悪い(APとSTAを数cmの距離まで隣接する/干渉の多いチャンネルを利用するなど)場合、BTを利用しなくても再現する
- 電波環境が良い(APとSTAの距離が数m程度/干渉の少ないチャンネルを利用するな)場合、BTを利用しなければ再現しない

上記に一致する場合、BT利用時にWLANが一定期間利用できないタイミングが存在するのではと推測しております。

p2003001

2022年12月15日 18時24分

コメントありがとうございます。以下のとおり回答いたします。

> - 5GHz帯を利用した場合、再現しない
 Armadillo-X1マニュアルのP253-254 (hostapd 設定ファイルサンプル(5GHz))の手順に沿ってconfファイルを変更・実行したところ
 hostapd.serviceのステータスは inactive (dead)になりサービス自体が正常動作しませんでした。なお電源OFF→ONおよびサービス再起動
 でも同様の状態になります。
 ※添付参照
 5GHz帯利用設定ファイル(hostapd.conf)をご提供いただくことは可能でしょうか。

> - 電波環境が悪い(APとSTAを数cmの距離まで隣接する/干渉の多いチャンネルを利用するなど)場合、BTを利用しなくても再現する
> - 電波環境が良い(APとSTAの距離が数m程度/干渉の少ないチャンネルを利用するな)場合、BTを利用しなければ再現しない
 現行部品(AEH-AR9462)基板と代替部品(WPEB-265AXI(BT) [B33])基板を、PC(STA)から同距離に置き、同環境(カーネル、dtb, Userland等)で
 順に検証を実施。現行部品基板では現象が発生しなかったため、恐らく電波環境の要素の影響ではないと思います。
 ※念のため、同基板で部品のみ交換して各々検証をしたが、同様の結果となりました。

ファイル ファイルの説明
hostapd 5GHz config WPEB-265AXI.JPG

at_mizo

2022年12月16日 8時43分

溝渕です。

>  Armadillo-X1マニュアルのP253-254 (hostapd 設定ファイルサンプル(5GHz))の手順に沿ってconfファイルを変更・実行したところ
>  hostapd.serviceのステータスは inactive (dead)になりサービス自体が正常動作しませんでした。なお電源OFF→ONおよびサービス再起動
>  でも同様の状態になります。
>  ※添付参照
>  5GHz帯利用設定ファイル(hostapd.conf)をご提供いただくことは可能でしょうか。

WPEB-265AXI(BT) [B33]でAP動作時に、5GHz帯で利用できるチャンネルは36-48 (W52)です。その為、チャンネル52を設定した事でエラーになっているものと思われます。

https://manual.atmark-techno.com/armadillo-x1/armadillo-x1_product_manu…

いちおう、こちらで動作を確認したhostapd.confを添付します。

>
>  現行部品(AEH-AR9462)基板と代替部品(WPEB-265AXI(BT) [B33])基板を、PC(STA)から同距離に置き、同環境(カーネル、dtb, Userland等)で
>  順に検証を実施。現行部品基板では現象が発生しなかったため、恐らく電波環境の要素の影響ではないと思います。
>  ※念のため、同基板で部品のみ交換して各々検証をしたが、同様の結果となりました。

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

ファイル ファイルの説明
hostapd.conf

at_mizo

2022年12月19日 9時17分

溝渕です。

メーカー問い合わせをしたところ、BTのscanは、同じく2.4GHz帯を利用するWLAN通信より優先して実行される為、WLANが切断されるとのことでした。

scan以外のBT通信では同様の問題は発生しません。また、WLANで5GHz帯を利用する場合は発生しません。

この挙動はユースケースによっては問題となる為、wrokaroundできないか問い合わせ中です。

p2003001

2022年12月19日 18時35分

> WPEB-265AXI(BT) [B33]でAP動作時に、5GHz帯で利用できるチャンネルは36-48 (W52)です。
> その為、チャンネル52を設定した事でエラーになっているものと思われます。
> https://manual.atmark-techno.com/armadillo-x1/armadillo-x1_product_manu
> いちおう、こちらで動作を確認したhostapd.confを添付します。

 hostapd.confファイルのご提供ありがとうございます。
 下記の環境で検証しました。
 ・Linuxカーネル at26 + DTB:https://armadillo.atmark-techno.com/resources/software/armadillo-x1/lin…
 ・Debian GNU/Linux10 (buster )ユーザーランド:https://armadillo.atmark-techno.com/resources/software/armadillo-x1/use…

 検証結果:
 ・5GHz帯でのサービスの起動に失敗(前回から状況変わらず)
 ・hostapdコマンドでconfファイルを利用し動作すると下記ログを出力する
   Channel 48 (primary) not allowed for AP mode, flags: 0x3 NO-IR
   wlan0: IEEE 802.11 Configured channel (48) not found from the channel list of the current mode (2) IEEE 802.11a
   wlan0: IEEE 802.11 Hardware does not support configured channel
   Could not select hw_mode and channel. (-3)
   ※ 詳細は下記の添付ファイルを参照してください。
 ・チャンネル36~48を設定して動作したが同様のログを出力した。
 ・製品マニュアル 21.4.1項目の内容に沿って、無線LANインターフェース(wlan0)をNetworkManagerの管理対象から外し、
  規制ドメイン(/etc/default/crda)設定も実施。⇒状況変わらず。
 
 その他必要な設定がございましたらご教授いただきますようお願い致します。

 
> メーカー問い合わせをしたところ、BTのscanは、同じく2.4GHz帯を利用するWLAN通信より優先して実行される為、WLANが切断されるとのことでした。
> scan以外のBT通信では同様の問題は発生しません。また、WLANで5GHz帯を利用する場合は発生しません。
> この挙動はユースケースによっては問題となる為、wrokaroundできないか問い合わせ中です。
 
 ご確認いただきありがとうございます。
 弊社でも「WLANで5GHz帯を利用する場合は発生しません。」を確認するため、5GHz帯で動作確認をしたいと思っております。
 ご検討宜しくお願い致します。

ファイル ファイルの説明
hostapd・5GHz帯のチャンネル制限について.pdf

at_mizo

2022年12月20日 9時08分

溝渕です。

ご確認いただき有難うございます。

>   規制ドメイン(/etc/default/crda)設定も実施。⇒状況変わらず。

規制ドメインの設定は、添付の2つのパッチを適用いただけますか。

この無線LANドライバですが、実装が独特でiw等から利用する汎用API経由での規制ドメインの設定が実質的に無視されてしまいます。

添付のパッチを適用すると、起動時に自動的にDevice Tree経由で規制ドメインを"JP"に設定するようになります。

ファイル ファイルの説明
0001-net-wireless-bcmdhd-add-dts-parameters-for-country-c.patch
0002-ARM-dts-armadillo_iotg_g3-armadillo_x1-Set-the-count.patch

p2003001

2022年12月20日 17時35分

> 規制ドメインの設定は、添付の2つのパッチを適用いただけますか。

ご提供いただいたパッチをカーネルソースに適用してビルドしたところ、5GHz帯のAP設定が正常に行えました。
上記環境(5GHz帯利用時)にてBTのscanを実行した結果、「現象は発生しない」こと確認が出来ました。
諸々の情報提供ありがとうございました。

> この挙動はユースケースによっては問題となる為、wrokaroundできないか問い合わせ中です。
引き続き、調査/ご検討の程宜しくお願い致します。

at_mizo

2022年12月21日 8時34分

溝渕です。

> ご提供いただいたパッチをカーネルソースに適用してビルドしたところ、5GHz帯のAP設定が正常に行えました。
> 上記環境(5GHz帯利用時)にてBTのscanを実行した結果、「現象は発生しない」こと確認が出来ました。

ご確認いただき有難うございます。

> > この挙動はユースケースによっては問題となる為、wrokaroundできないか問い合わせ中です。
> 引き続き、調査/ご検討の程宜しくお願い致します。

すでにメーカーに問い合わせ済みで回答待ちの状態ですが、「恐らく回答には時間がかかる」との一時回答が来ています。適宜コミュニケーションを取っていきますが、すぐには回答が来ない可能性もあります。

at_mizo

2022年12月22日 14時48分

溝渕です。

メーカーとのやりとりは継続していますが、まだ解決には至っていません。

こちらでも調査を継続しており、WLANが切断される原因はクライアント(PC)からの切断要求によるものではないかと思います。

切断発生時のログを確認すると、次のように出力されていました。

[pc]$ sudo journalctl -u NetworkManager -b
 :snip
12月 22 08:45:21 pc-0094 NetworkManager[694]: <warn>  [1671666321.6312] sup-iface[0x557fc0561210,wlp4s0]: connection disconnected (reason -4)

クライアントのOSはUbuntu 20.04.5 LTSです。debian等、他のOSを利用している場合はログが異なると思います。

このログにある"-4"は切断理由を示しています。詳細は、"IEEE 802.11-2007 7.3.1.7 Table 7-22"に示されており、"-4"[1]は、クライアントが"Disassociated due to inactivity"の為にdisconnectしたことがわかります。
[1]: 負の値の場合はクラアントが、正の値の場合はAPが切断しています。

なので、クライアントの設定によって切断を回避することができる可能性はあります。しかし、本質的にはBTのscan中に無線LAN通信の優先度が下るのが本質的な問題である為、メーカーにworkaroudを要求中です。

p2003001

2023年1月6日 9時17分

進捗ありがとうございます。

> こちらでも調査を継続しており、WLANが切断される原因はクライアント(PC)からの切断要求によるものではないかと思います。
> なので、クライアントの設定によって切断を回避することができる可能性はあります。しかし、本質的にはBTのscan中に無線LAN通信の優先度が下るのが本質的な問題である為、メーカーにworkaroudを要求中です。

内容理解いたしました。
引き続き、宜しくお願い致します。