¿ªÔÆÌåÓý

ctrl + shift + ? for shortcuts
© 2025 Groups.io

DFU updating #dfu


Anne Ranch
 

OK, I can read several "how to..." , watch "u-tube " - rather not waste my time there...
OR
I can plug it in ( it works better that way) and push series of self -explanatory buttons UNTIL
I get
(you are in ) DFU mode
and "to get out " of DFU mode "must be manually reset" .

1. I get no visible feedback what is happening , BUT
lsusb reports

Bus 001 Device 013: ID 0483:df11 STMicroelectronics STM Device in DFU Mode

2. Should the funky sort of "single shot wave " under green LED ( right to the power switch) do something ?
3. If successfully updated - how do I " manually reset" ?
4. Lacking much indication about what is happening - what could be
reasonable time for DFU to finish ? ( hours / days / years ?)


Anne Ranch
 

I have found that I have to "start/run" "nanosaver" AFTER boot is done , hence not directly after
it was downloaded / installed.
Now the green LED on right side of the power switch is steady and "nanaVNA- saver " serial port works fine.
Still need some help with "DFU"


Anne Ranch
 

OK, let me stay here
Found dfu-util and now have TWO DFU devices and trying to retrieve nanaVNA firmware and do not know which "DFU device " to use




qe@qe-desktop:~$ sudo dfu-util -l -v
dfu-util 0.9

Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2016 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to

Found DFU: [0483:df11] ver=2200, devnum=13, cfg=1, intf=0, path="1-1.3.3", alt=1, name="@Option Bytes /0x1FFFF800/01*016 e", serial="FFFFFFFEFFFF"
Found DFU: [0483:df11] ver=2200, devnum=13, cfg=1, intf=0, path="1-1.3.3", alt=0, name="@Internal Flash /0x08000000/064*0002Kg", serial="FFFFFFFEFFFF"


 

Just read the Absolute Beginners Guide in the Files section of this group. It will tell you how to update the firmware.

Roger


 

Anne,
You've posted 3 messages so far but you have not stated the model of nanovna you have, the current version of it's FW, nor the operating system/PC you're using.?
Looks like you're on Linux, so yes, place the device into dfu mode using the menu.?
This topic has been discussed many times in the forum messages.?
Please use the forum search tool and search for keywords of Linux and dfu-util
Read my Search help file in the wiki, it's the very first entry.?
Cheers,?Larry


On Sat., 3 Jul. 2021 at 11:48 a.m., Anne Ranch<anneranch2442@...> wrote: OK, let me stay here
Found dfu-util and now have TWO DFU devices and trying to retrieve? nanaVNA firmware and do not know which "DFU device " to use




qe@qe-desktop:~$ sudo dfu-util -l -v
dfu-util 0.9

Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2016 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to

Found DFU: [0483:df11] ver=2200, devnum=13, cfg=1, intf=0, path="1-1.3.3", alt=1, name="@Option Bytes? /0x1FFFF800/01*016 e", serial="FFFFFFFEFFFF"
Found DFU: [0483:df11] ver=2200, devnum=13, cfg=1, intf=0, path="1-1.3.3", alt=0, name="@Internal Flash? /0x08000000/064*0002Kg", serial="FFFFFFFEFFFF"


 

First let me answer two of you questions:
3. If successfully updated - how do I " manually reset" ?
Switch off and switch on again - voil¨¤!

I have found that I have to "start/run" "nanosaver" AFTER boot is done , hence not directly after
it was downloaded / installed.

No, nanosaver doesn't wait for boot is done, boot takes just 1 second. BUT - the FW uses USB serial emulation (that's good) and announces itself as being a modem (that's bad) and Linux's ModemManager grabs this "modem" and holds it for half a minute until it detects that's not a real modem (that's ugly).
This issue is found in many USB serial implementations for STM32 (e.g. also BlackMagic probe). But we're lucky because this issue can easily be fixed: I've submitted issues to hugen () and DiSlord () as well as a PR ().

But now for your main concern, how to update the FW:
Proposed you're talking about the NanoVNA-H (the original device with the small 2.8" screen) and working under Linux then it's easy: just get the source of the FW you want from GitHub (either hugen's version from , latest is 1.0.45 or the bleeding-edge version 1.0.65 from DiSlord ). Then easyly type "make" to build the FW, enter dfu mode and type "make flash" to program - that's it!

If you do not like to build it on your own, just use the command from the make that is "dfu-util -d 0483:df11 -a 0 -s 0x08000000:leave -D <YOUR_FW_VERSION.bin>"

dfu-util tells you how to use it:

dfu-util -h
Usage: dfu-util [options] ...
-h --help Print this help message
-V --version Print the version number
-v --verbose Print verbose debug statements
-l --list List currently attached DFU capable devices
-e --detach Detach currently attached DFU capable devices
-E --detach-delay seconds Time to wait before reopening a device after detach
-d --device <vendor>:<product>[,<vendor_dfu>:<product_dfu>]
Specify Vendor/Product ID(s) of DFU device
-p --path <bus-port. ... .port> Specify path to DFU device
-c --cfg <config_nr> Specify the Configuration of DFU device
-i --intf <intf_nr> Specify the DFU Interface number
-S --serial <serial_string>[,<serial_string_dfu>]
Specify Serial String of DFU device
-a --alt <alt> Specify the Altsetting of the DFU Interface
by name or by number
-t --transfer-size <size> Specify the number of bytes per USB Transfer
-U --upload <file> Read firmware from device into <file>
-Z --upload-size <bytes> Specify the expected upload size in bytes
-D --download <file> Write firmware from <file> into device
-R --reset Issue USB Reset signalling once we're finished
-s --dfuse-address <address> ST DfuSe mode, specify target address for
raw file download or upload. Not applicable for
DfuSe file (.dfu) downloads


Anne Ranch
 

Thanks, sure explains few things.
As I just posted elsewhere, I am ignorant about my toy version.
( And I am NOT taking it apart to find out... and I was just kidding about taking Polaroid of screen flash )
I am currently working on my version of bluetooth access to FT857 CAT and I am painfully aware
how "screw up" any communication with PC can get.
As far as USB - that is how it supposedly work - the USB device supposedly
announce himself to the USB bus AFTER it gets thru its power-up.
And if the USB bus , hence booting PC in this case, is not ready for it ...who knows what will happen next.

In short - USB (standard) starts communication FROM USB device to whatever , not from whatever to USB device...

Bluetooth is even messier.


Anne Ranch
 

Success
I got NanoVNA-H

PS
Is there a way to edit posts ? (More -> more ??)
Or am I stuck replying to myself?


 

On 7/6/21 9:15 PM, Anne Ranch wrote:
Thanks, sure explains few things.
As I just posted elsewhere, I am ignorant about my toy version.
( And I am NOT taking it apart to find out... and I was just kidding about taking Polaroid of screen flash )
I am currently working on my version of bluetooth access to FT857 CAT and I am painfully aware
how "screw up" any communication with PC can get.
As far as USB - that is how it supposedly work - the USB device supposedly
announce himself to the USB bus AFTER it gets thru its power-up.
And if the USB bus , hence booting PC in this case, is not ready for it ...who knows what will happen next.

In short - USB (standard) starts communication FROM USB device to whatever , not from whatever to USB device...

Bluetooth is even messier.

When your PC boots it should re-enumerate all the USB devices. In Windows, you can force this in device manager (and there used to be a command line technique, as well, but I don't know if it exists in Win 10. It probably does, but some googling will be required to find it)

The unit shows up as a com port and unless you're unlucky, you can probably figure out *which* com port by looking at the VID and PID of the USB device (or by unplugging and replugging, and seeing which com port disappears and reappears)

As far as USB devices go, the NanoVNA has been pretty good.


William Smith
 

It can be even twistier than that. Win10 re-enumerates every time you plug or unplug a device, any time you (re?)connect with RDP, any time any USB device goes to sleep or wakes up, and probably other events as well.

This can play havoc with WSJT-x digital modes, because the audio port you were connected to, while it has the same name, is no longer connected, and needs to be disconnected and restarted. I wouldn't be surprised to learn that nanoVNA software has similar issues.

73, Willie N1JBJ

On Jul 7, 2021, at 9:20 AM, Jim Lux <jim@...> wrote:

On 7/6/21 9:15 PM, Anne Ranch wrote:
Thanks, sure explains few things.
As I just posted elsewhere, I am ignorant about my toy version.
( And I am NOT taking it apart to find out... and I was just kidding about taking Polaroid of screen flash )
I am currently working on my version of bluetooth access to FT857 CAT and I am painfully aware
how "screw up" any communication with PC can get.
As far as USB - that is how it supposedly work - the USB device supposedly
announce himself to the USB bus AFTER it gets thru its power-up.
And if the USB bus , hence booting PC in this case, is not ready for it ...who knows what will happen next.

In short - USB (standard) starts communication FROM USB device to whatever , not from whatever to USB device...

Bluetooth is even messier.

When your PC boots it should re-enumerate all the USB devices. In Windows, you can force this in device manager (and there used to be a command line technique, as well, but I don't know if it exists in Win 10. It probably does, but some googling will be required to find it)

The unit shows up as a com port and unless you're unlucky, you can probably figure out *which* com port by looking at the VID and PID of the USB device (or by unplugging and replugging, and seeing which com port disappears and reappears)

As far as USB devices go, the NanoVNA has been pretty good.





Anne Ranch
 

I cheat - I run nanoVNA-saver to find the "port" . After few hick-ups I am getting pretty familiar with nanaoVNA-saver and it really does not bother eif it was written in Python HI HI


 

That isn't a problem with Linux.