Day After Day
tsurezure naru mamani...
ANOTHER DECADE

from 2022 when it's begining after/with CORONA Virus.

NanoVNAのファームウェアをアップデートする

5月
2
2024
Back
Alt+HOME


あ~やったり・こ~やったりでやっと出来たファームウェアのアップデート(癖有り)

最初は Windows 11 でUSBのポートが見つからないというエラーが出続け、ChatGPTにお伺いしたところ、「別のマシンでやってみたら」と仰る。 なるほどと納得して Windows 10 の方でやってみたら、あれ・これ・ぐらいでかたづいたと言う次第。

過去に一度アップデートしているのだが、その時は jh4vaj カムバック組のハムライフにお世話になった。大変分かり易く書かれている。

今回再びやってみての備忘録である。

必要となるファイル類(最新版をダウンロード)


書き込みツール
https://dfu-util.sourceforge.net/releases/
DFUモードでUSB書き込みをするためのUSBドライバ
https://zadig.akeo.ie/#google_vignette
ファームウェア
(.bin と .dfu が有れば .dfu の方をダウンロード)
https://github.com/hugen79/NanoVNA-H/releases
https://github.com/DiSlord/NanoVNA-D/releases

2024年5月現在でもこれが最も新しい。

解凍すると左図の様なフォルダー構成になるので(図は Win64 の場合)、他のダウンロードファイルも同フォルダーにまとめてある。

下段左3つがファームウェア、その右 [Z] のマークのアイコンがUSBドライバーの変更ユーティリティ。 書き込みに使用するのは、最上段の dfu-util.exe である。

NanoVNA.H.v1.2.29.dfu が最も新しいようだ。他の2つはインストールしてみたところ、Versionが v.1.2.27と表示された。 また、この2つはファイル名の一部に MSSI の区別がある。SIのチップが手に入らなくなって、変更されてからのファームのようだ。

USB接続のドライバーを更新する



  1. [Options]をクリックして、ドロップダウンリストから[List All Devices]をクリックする。

  2. ダイアログボックスの選択リストから、図の様にChibiOS/RT Vertual COM Portを選択する。

  3. 他の設定は図のとおりで[Replace Driver]をクリックする。
この USB ID 0483:5740 で後ほど罠に落ちた。
=MEMO= ファームウェアのアップデートが済んだら、一旦このドライバーをアンインストールする

実際にファームウェアを焼き込んでみる


Windows 10 での結果
コマンド1
dfu-util.exe -d 0483:df11 -a 0 -s 0x08000000 -D NanoVNA-H-SI_20240220.bin
×
コマンド2
dfu-util.exe -d 0483:df11 -a 0 -s 0x08000000 -D NanoVNA-H-SI_20240220.dfu
×
コマンド3
dfu-util.exe -a 0 -D NanoVNA.H.v.1.2.29.dfu
コマンド4
dfu-util.exe -a 0 -D NanoVNA-H-SI_20240220.dfu
コマンド5
dfu-util.exe -d 0483:0000 -a 0 -D NanoVNA-H-SI_20240220.dfu
コマンド6
dfu-util.exe -d 0483:0000 -a 0 -D NanoVNA.H.v1.2.29.dfu

最初、ドライバー書き換え時の 0483:5740 が書き込み時指定すべき USB のポートであると思い込んだが、次のように NanoVNA をdfuモードにして調べると・・。 (dfu-utilityのフォルダー内でコマンドを実行)

C:\Users\yosh\Desktop\dfu-util-0.11-binaries\win64>lsusb
		:
		:
Bus 002 Device 021: ID 0483:df11
		:
となるのでてっきりこのアドレスを他の解説ブログでも指定しているのだろうと思ったのだが・・嵌まってしまった。 USBポート指定として -d 0483:df11 を指定すると書き込めない。 そこで思い切って-d オプションを省いてみたところスルスルっと進んだ。-s 0x08000000もついでに省いてみたが問題なし。規定値なのだろう。

ちょっと深掘りをすべく、0483:df11を指定したときのエラーメッセージに「ファイルのサフィックスは0483:0000である」と言うようなものが有った。 そこで、とにかくファイル属性に合わせ -d 0438:0000 をコマンドに指定してみたら同様にすんなりと行った。ちょっと今後のため認識を新たにした。

X:\dfu-util-0.11-binaries\win64>dfu-util.exe -d 0483:0000 -a 0 -D NanoVNA.H.v1.2.29.dfu
dfu-util 0.11

Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2021 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to http://sourceforge.net/p/dfu-util/tickets/

Multiple alternate interfaces for DfuSe file
Opening DFU capable USB device...
Device ID 0483:df11
Device DFU version 011a
Claiming USB DFU Interface...
Setting Alternate Interface #0 ...
Determining device status...
DFU state(10) = dfuERROR, status(10) = Device's firmware is corrupt. It cannot return to run-time (non-DFU) operations
Clearing status
Determining device status...
DFU state(2) = dfuIDLE, status(0) = No error condition is present
DFU mode device DFU version 011a
Device returned transfer size 2048
DfuSe interface name: "Internal Flash  "
File contains 1 DFU images
Parsing DFU image 1
Target name: ST...
Image for alternate setting 0, (1 elements, total size = 92716)
Setting Alternate Interface #0 ...
Parsing element 1, address = 0x08000000, size = 92708
Erase           [=========================] 100%        92708 bytes
Erase    done.
Download        [=========================] 100%        92708 bytes
Download done.
Done parsing DfuSe file


Back
Alt+HOME