Hi all.
I used Dfuse Demo to do an upgrade on the original NanoVNA. Did as instructed boot to Vdd, switched on and presented with white screen Fired up DfuSe Demo upgrade to nanoVNA_900_AA, got error message and now I have a white screen after the jumper is removed. I assume the firmware is gone. any tips on how dot to get this error.
Regards Adrian.
|
Just buy ST-LINK2 on aliexpress:
it allows to flash STM32 even if it is bricked. You will need to connect GND=GND, VDD=3.3V, SWDIO=SWDIO, SWCLK=SWCLK. These signals are placed near boot jumper on the right side of nanoVNA.
In order to flash you will need ST-LINK Utility:
Connect ST-LINK to NanoVNA (there is no need to solder, you can keep wires with finger during flashing), start ST-LINK Utility, and set the following values in the window: Address: 0x08000000 Size: 0x20000 Data width: 8 bits
After that select menu: Target => Connect, it should connect to STM32 and show it's memory content.
Use File => Open file menu to open HEX file with NanoVNA firmware. And then flash it into NanoVNA with menu Target => Program and verify
That's it :) See HEX file with NanoVNA firmware in attachment.
Also, you can try to reflash it with DFU. Just connect USB cable, power off NanoVNA, short the boot jumper and power on NanoVNA, after that remove boot jumper and try to flash it with DFU again.
But DFU is not reliable way to flash it. So, if it won't work just buy ST-LINK and use instruction above. ST-LINK is native way to flash STM32. While DFU is just a way to flash it for those, who don't have ST-LINK. But flashing through DFU is buggy and not reliable way to flash it. It's better to use ST-LINK. But note, ST-LINK uses HEX or BIN format, it cannot understand DFU file.
|
Hi
I tried what you said and it did not work. I get an error "Target 00 /error code: Bad state machine infirmware."
I have ordered an STL-Link 2 from your advice.
Thanks for your help
Regards Adrian
|
I am trying to jumper the boot to Vdd with a wire with alligator clip on each end. So it's still booting normally with regular screen, so wondering if there are any special tricks to getting the jumper connection, or a better too like the connectors used for logic probing?
|
From: Bruce KX4AZ
I am trying to jumper the boot to Vdd with a wire with alligator clip on each end. So it's still booting normally with regular screen, so wondering if there are any special tricks to getting the jumper connection, or a better too like the connectors used for logic probing? =========================
Bruce,
I just bent 24 swg tinned copper wire into a "U" shape, tweaked the space so that it held itself into position to get the white-screen boot.
Cheers, David GM8ARV -- SatSignal Software - Quality software for you Web: Email: david-taylor@... Twitter: @gm8arv
|
I am trying to jumper the boot to Vdd with a wire with alligator clip on each end. So it's still booting normally with regular screen, so wondering if there are any special tricks to getting the jumper connection, or a better too like the connectors used for logic probing? Overkill works for me:
|
Adrian Waiblinger, if it shows that there is bad state in firmware, then it seems that memory is corrupted, so the only way to flash it is to use ST-LINK
Just use instruction above. If something will going wrong during flashing with ST-LINK, then use menu Target => Erase chip. It will clean all memory, so you will be able to flash it like new one with menu Target => Program and verify.
|
Did you succeed in getting your NanoVNA unbricked with ST-LINK ?
I'm in the same boat. Before throwing good money after bad, I would like to hear from folks who have successfully used ST-LINK to unbrick a whitescreened NanoVNA that failed using DFU.
Thanks, Steve, N2IC
|
Steve, The following is what another user wrote:
// Begin Quote //
There are two ways to update firmware: DFU and ST-LINK. So, it depends on what method you're want to use.
1) DFU update. This is simple but not reliable way. If something will going wrong, you may brick your NanoVNA with this method and the only way to restore it is to update firmware with the second method. DFU method doesn't requires any special hardware and you can update it just through USB.
For DFU method, you will need the file with DFU extension: e.g. "nanoVNA_900_ch_20190920.dfu"
In order to upload it into NanoVNA you will need DfuSe software.
You will need to power-off your NanoVNA, connect USB to PC, short BOOT jumper with tweezers and power on NanoVNA. It will be booted in DFU mode. The display will be white. Now you can release BOOT jumper and then use DfuSE Demo tool to upload firmware file into NanoVNA.
2) ST-LINK update. This is native and reliable way. But it requires a ST-LINKv2 dongle. This dongle allows to flash even bricked device and also allows to use in-circuit debugging.
For ST-LINK update, you will need the file with HEX or BIN (any of these) extension: e.g. "nanoVNA_900_ch_20190920.hex"
In order to upload it into NanoVNA you will need ST-LINK Utility software.
You will need to connect ST-LINK to NanoVNA with 4 wires: - 3.3V to VDD, - GND to GND, - SWDIO to SWDIO, - SWCLK to SWCLK
There is no need to solder, you can just connect wires to the pads and press it with finger during upload. Then you will need to use ST-LINK Utility tool with the following memory parameters: - Address: 0x08000000 - Size: 0x20000 - Data Width: 8 bits
I strongly recommend to save your current firmware before update. Just in case. Both software tools allows it. "
// End Quote//
After having read the above, I bought a second nanoVNA and use it as a sacrificial device when trying upgrades. I haven't had any problems upgrading with DFUSe Demo through USB, but I'm prepared in-case Murphy decides to pay me a visit.
Herb
|
I finally got mine unbricked using "conventional" methods.
Here's the story:
1) Used ubuntu dfu-tool to load CLEAR_MEMORY_DFU.dfu . That left the NanoVNA white screened. 2) Tried to use dfu-tool to load a NanoVNA dfu. Couldn't: ubuntu no longer found NanoVNA, even in boot mode. 3) Installed DfuSe Demo on Windows. 4) Plugged NanoVNA into Windows box, in boot mode (2 pins shorted). Windows Search found and installed the STM driver (on the 3rd try). After that, Windows device manager always found the NanoVNA when in boot mode. 5) Used DfuSe to install the current NanoVNA dfu using Hugen's excellent instructions at . The important thing is that you are -upgrading-, not -uploading-. Use the Choose and Upgrade options on the right side of DfuSe.
Steve
|
Steve, That's good information. Some Linux user's with bricked devices may not have been aware that a Windows PC might be able to recognize the device (if they still had a Windows PC available) and un-necessarily ordered the ST Programmer.
|
I had great difficulty flashing in DFU mode. At one point I thought the VNA was bricked. For whatever reasons, I was unable get DFU running under Linux. Under Windows, it finally worked but took almost 20 minutes to flash.
Using, ST-LINK, under Windoze, 10 seconds to flash. Thanks Herb!!
Bob N6RFM
|
Robert, The thanks actually go to the great user groups that have formed around the nanoVNA. I never understood why people are so enthusiastic about some open source projects until now. This group is at almost 3500 messages and its almost guaranteed that if you run into a problem some other user has too. Some of the replies need to go through your "common sense" filter, but its hard to fault anyone if they are trying to help.
Herb
|
Hi folks,
I got a bricked VNA (white screen) from a very frustrated OM (very cheap: a glass of beer only, hi). - First: I tried the "DfuSe"-way - no success - as expected. - Second: I used the "STM32CubeProgrammer" and shortened Pin "VCC" with Pin "Boot0" to reach the programming mode. Using the concerning "nnn.hex" File - IT WORKS ! - Third: I tried the method which is decribed above with the ST-Link - IT WORKS also ! So nobody need a "sacrificial" device in his stock - I think. Give it away (for much more than one glass of beer only.., hi) (I use WIN10 prof.) Peter , DD6USB
P.S. It was worth a glass of beer I think.......
|
Herb,
Thank you so much for re-printing this here - saved my bacon!
|
Hi Peter,
I had a working NanoVNA that I wanted to update, but it also didn't work with DfuSE due to only STM32 BOOTLOADER showing up in the Win10 device manager. The STM32CubeProgrammer indeed did the trick (with only the usb connection!)
Steps I used with the Nano in programming mode (shortened pins): - Connected the Nano to the pc via the usb cable, switched the device on, started STM32CubeProgrammer software. - Switched the connection (Tab in the upper right corner) from ST-LINK to USB, and connected. - In the 'Memory and File Edition' menu, I've set Size to 0x20000, Data Width to 8 Bits (Address of 0x0800000 showed already) like mentioned by QRP RX in this topic. - Read the original data and saved it as backup (.bin format). - Switched to the 'Erasing & Programming' menu, I ERASED the Flash Memory and wrote the firmware that QRP RX left in this topic.
Ended up with a working NanoVNA that has 4 traces now, and has a higher resolution! ('NanoVNA GEN111.TAOBAO.COM' showing on the splash screen when starting up). (I did get it bricked when not erasing the flash memory before re-programming).
Thx for the solution QRP RX and Peter! 73 from happy ON7IVE
|
I have seen a lot of the same subject "bricked':. I am passing this on a a possible cause. I my case I upgraded fine with two computers. Then I purchased a new Laptop with only USB3 Ports. It goes to up load and appears to hang. I have duplicated this a couple of times. Just a thought that USB2 ports may be the safer way to go. I may be totally wrong, but just a suggestion. 73, Glenn W3WTE.
|