こんにちは、
私たちはIW610Gモジュール(Murata TYPE2LL)をカスタム組み込みLinuxボードに統合しており、SPI上で802.15.4/Threadを動作させるのに助けが必要です。WiFiとBLEは同じハードウェア/ファームウェア上で完全に動作しますが、802.15.4 RCPに問題があります。往復の手間を省くため、できるだけ詳細な情報を投稿します。
ハードウェア/ソフトウェアのセットアップ
- ホスト:QCA9531 SoC(MIPS 24Kc)、OpenWrtベースのLinux 6.12、ath79ターゲット
- IW610G(村田TYPE2LL):WLANおよびBLE用にUSB接続、標準IW610ホストインターフェースアーキテクチャに準拠した802.15.4用SPI接続
- ファームウェア:usbusbspi_iw610.bin.se、公開されているNXP-IMX/IMX-firmwareリポジトリから取得しました
- otbr-agent/ot-daemonは-DOT_POSIX_RCP_SPI_BUS=ONおよび関連オプションで構築され、内蔵のスピネル+spi/トランスポートを使用しています(spidevベースでカスタムカーネルSPIドライバーはなく、NXPがSPI/802.15.4側向けにカーネル内ドライバーを出荷していないため、NXPの意図されたアーキテクチャに合致していると理解しています)
効果的な方法
- WiFi:USB、5GHzを経た完全なアソシエーション、スループット、安定性テストを行い、持続的な負荷下での実際のトラフィックと確認
- BLE:広告、スキャン、WiFiとの共存はすべてUSB経由で動作し、近くの実際のデバイスを検出することが確認されています
うまくいかないもの
- SPI上の802.15.4:ホストは正しくCSを主張し、適切に形成されたSpinel RESETフレームをクロックアウトし、RCPは常にゼロ充填ヘッダーで応答しません。これは一貫しています:
- コントローラのハードウェアフロアから最大20 MHzまでのすべてのSPIクロックスピードにわたり
- IND_RST_WL/IND_RST_NBでGPIOリセットパルスの有無(チップセレクト/リセットラインを個別および組み合わせてテスト)
- 複数のウェイク/リセットGPIO(WL_WAKE_IN、NB_WAKE_IN)をまたぐ
- 新たにクリーンにパワーシーケンスされたチップ上で確認された
私たちの側で既に除外したこと
- 電気信号がクリーンで正確にタイミングが確認され、スコープで検証済み
- SPIモード(CPOL=0/CPHA=0)およびタイミングをIW610のデータシート独自のSPIホストインターフェースタイミング図と照合
- ファームウェアの存在が確認され、正しく読み込まれ、最新であること(nxp-imx/imx-firmwareの最新のコミットと一致)
FP92とFP99の不一致
ドライバの報告:
wlan: version = USBIW610--18.99.8.p52--MM6X18543.p18-GPL-(FP92)
既存のThread(「IW610 802.15.4 problem」)を見つけました。そこでは別のユーザーがまったく同じ(FP92)タグでsduartspi_iw610.bin.seを使って全く同じ症状に遭遇していました。RN00104 は、USB-WLAN-USB-BLE-FP99-IW610 を IW610 over USB (USB 経由の WLAN、BLE over USB) の公式検証済み構成として文書化しています。
当社のバストポロジーと完全に一致するUSB。さらに掘り下げると:
- 公開のnxp-imx/mwifiexリポジトリには、確認したすべてのブランチでMakefileにFPNUM="92"がハードコードされており、現在のHEADも含まれます
- 公開のnxp-imx/mwifiex-iw612リポジトリには実際のFPNUM="99"がありますが、IW612専用(ソースにIW610の参照なし)およびSDIO専用(USBトランスポートコードは全く含まれていません)
私たちの質問
RN00104ドキュメントに記載されているUSB-WLAN-USB-BLE-FP99-IW610エントリに対応するFP99ドライバー+ファームウェア+設定バンドルはどこで入手できますか?この組み合わせは公開されたGitHubリポジトリ以外のチャネル(直接サポートリクエスト、NDA、モジュールベンダー配布)を通じて利用可能でしょうか?どれでも
バージョン文字列マクロ以外に、FP92ビルドとFP99ビルドの実際の違いを示す情報があれば、これがそもそも正しい手がかりなのかどうかを理解するのに役立ちます。
前もって感謝します