Raytac AN7002Q-P (Wi-Fiモジュール)のOTPメモリにMACアドレスを書き込む方法についてご質問を頂きました。この記事ではAN7002Q-nRF5340デモボード(AN7002Q-DB-5340)へのMACアドレスの書き込み方について説明いたします。
「DevKitのAN7002Q-DB-5340には既存のWi-Fi MACアドレスがありますか?」
現在、RaytacのAN7002Q-DB-5340ボード上のAN7002QモジュールにはWi-Fi MACアドレスが読み込まれていません。
NCS v2.6.0(およびそれ以降のバージョン)でWi-Fiスキャンコード/ステーションコード/シェルコードなどを実行する際には、AN7002QモジュールにプログラムされたWi-Fi MACアドレスが必要です。
したがって、以下のプロセスに従う必要があります:
- オリジナルのWi-Fi無線テストコード(..\nrf\samples\wifi\radio_test)をMDBT53セクションにプログラムします。
- その後、コマンドを使ってWi-Fi MACアドレスをAN7002Qセクションに書き込みます。
これが完了したら、オリジナルのWi-Fiスキャンコード/ステーションコード/シェルコードを5340にプログラムし、正常に機能するようになります。
*RaytacはAN7002Qモジュールの量産提供時には2つのMACアドレス(2.4GHzと5GHz用)を
割り当てる予定です。
*開発キットを使用する際にMACアドレスがまだないお客様は、service@raytac.comまでご連絡
下さい。
==========================================
ケーススタディ1: SCANコードのサンプル
シナリオ:
SCANのサンプルのコードをビルドし、AN7002Q-DB-5340ボードにフラッシュしてテストを実行した際に、以下のエラーが発生しました。
解決策:
NCS v.2.6.0以降のバージョンでWi-Fiスキャンコードを実行する際には、AN7002QモジュールのOTPメモリにWi-Fi MACアドレスがプログラムされている必要があります。
(注: OTPは一度だけプログラム可能なメモリであり、値は一度しか書き込むことができません。OTP操作を実行する前に必ずこの点を理解しておいてください。)
- オリジナルのWi-Fi無線テストコード(..\nrf\samples\wifi\radio_test)をMDBT53セクションにプログラムします。
- 次に、手動で以下のOTP読み取りコマンドを入力し、実行します。
wifi_radio_ficr_prog otp_read_params
MAC0およびMAC1が0xFFの値を表示している場合は、上記のように、AN7002QのOTPにWi-Fi MACアドレスが書き込まれていないことを意味します。
- 手動でOTP書き込みコマンドを発行し、Wi-Fi MACアドレスをOTPに書き込みます。
https://docs.nordicsemi.com/bundle/ncs-latest/page/nrf/samples/wifi/radio_test/ficr.html
wifi_radio_ficr_prog otp_write_params 0x120 0xDDCCBBAA 0xFFEE
wifi_radio_ficr_prog otp_write_params 0x128 0xDDCCBBAA 0xFFEE
上記の操作が完了したら、以下のOTP読み取りコマンドを使用して、Wi-Fi MACアドレスの値が書き込まれたかどうかを確認します。MAC0およびMAC1は、OTP書き込みコマンドで入力した値を表示するはずです。
wifi_radio_ficr_prog otp_read_params
3. オリジナルのWi-Fi SCANコードを再度MDBT53にプログラムすれば、Wi-Fiスキャン機能は正常に動作するはずです。
==========================================
ケーススタディ2: シェルコードのサンプル
SDK Wi-Fiサンプルテスト – AN7002Q-DB-5340でシェルコードを実行する場合:
シナリオ:
AN7002Q-DB-5340でシェルコードを実行すると、エラーが発生します。
解決策:
AN7002Q-DB-5340はnRF5340 DKとペアで開発されていますが、どちらのボードにも外部MX25R64(Serial NOR Flash)コンポーネントは搭載されていません。現在、MX25R64が装備されているのはnRF7002DKボードだけです。
そのため、オリジナルのWi-Fiシェルコードを実行すると、プログラムがSPI NORを有効にします。
AN7002Q-DB-5340を使用する場合は、prj.conf
ファイルにCONFIG_SPI_NOR=n
を追加してSPI NORを無効にし、関連する設定をオフにする必要があります。
再コンパイルしフラッシュした後、シェルコード機能(例: Wi-Fiスキャン/Wi-Fi接続/net pingなど)が正常に動作するはずです。