Main Site Documentation

Firmware Update Hydra


#1

Hello

I hope that this is in the right section.
AFter digging out my gadgeteer and managed to get VisualStudio working again.
I wanted to update my FEZ Hydra from 4.2.5.0 to 4.3.6.0 but just when I started updating, I get the disconnect messege… which I think is pretty normal… but after several minutes still nothing happens.

I get just this message: "see image"
working on a win7 PC for the update to avoid errors.
reinstalled drivers and booted everything several times

Someone got a idea how to update it? I’m pretty out of ideas :confused:

(uh, don’t get confused by the image… it’s the same error in win8 and win7)

greez evul


#2

@ evul - It looks like you still need to update TinyBooter.


#3

@ evul - This post would have been better on the .NET Gadgeteer forum, since the FEZ Hydra is a Gadgeteer mainboard.

You might need to update the loader before updating the firmware. Check the “Loader” section of the following document for instructions:

https://www.ghielectronics.com/docs/39/fez-hydra-developers-guide

Hope that helps.


#4

Hello
sowwy, I thougt “sestem on module” would also contain the firmware.

I connected pin8 on socket3 to the ground for 5sek at booting.
i hope that cleared the memory.

tried to update loader. I have the board on COM1 HUB2
but I can only enter “1” at the updater tool… i hope that’s correct

LOG file says:
-I- Waiting …
-I- TCL platform : Windows NT
-I- SAM-BA CDC 2.10 on : windows
-I- Retrieved arguments from command line :
-I- argv 0 : com1
-I- argv 1 : at91sam9rl64-ek
-I- argv 2 : Loader.tcl
-I- Connection : com1 (target(comType) = 3)
-I- Board : at91sam9rl64-ek
-I- Traces Level : 4
-I- target(handle) : file1971c40

and then does nothing for 40min.

anyone can tell me, what this means?

edit: I’m sorry, for bugging you ppl with such simple problems :S
could it be, that it’s maybe simpler to work on 4.2 instead?
greets evul


#5

There’s a good chance that your issue is in how you run the SAM-BA updater. Can you confirm what OS you are using, and that you’re running as an elevated Administrative user ?


#6

Trying to update on a win7 pc.
Installed all things up to step 4 from those instructions: https://www.ghielectronics.com/support/netmf

I run the Updater.bat with rightclick “start as administrator”.
started the file in C:\Program Files\GHI Electronics\GHI NETMF v4.3 SDK\Firmwares\FEZ Hydra\Loader/Updater.bat

Since I am a pretty hobby programmer… I’m pretty helpless if stuff isn’t working “simple” >.<

Can I somehow confirm, that i managed to erase the memory with this Pin to ground thingy?

greetings evul


#7

ok cool. There are some peculiarities about the SAM-BA versions that I’ve seen (I don’t have a problem on my current SAM-BA install but its not necessarily up-to-date).

Here’s how I’d step through this. First, if you just start your Hydra normally, check Device Manager and see what device appears - you should see something like a “GHI debuggable netmf” device appear, and no additional COM port will appear. Then, to make sure you are booting it into the correct mode with the pin held to GND, you will see the debuggable netmf device disappear, and a COM port will appear. You need to know what the COM port number is - for example it might be COM7 or COM12 (or anything really)

The other thing I would suggest is that you start two command prompts, both running as administrator, and change directory in them to the “C:\Program Files\GHI Electronics\GHI NETMF v4.3 SDK\Firmwares\FEZ Hydra\Loader” directory. In one of these directories, run the appropriate update batch file. In the second one, look at the log file that the script creates (I have an old SDK so don’t know what the current log file is called, in my version if’s called logfile.log)… the best way to look at the file is simply to “TYPE logfile.log” and it’ll output the contents of the file; then press up-arrow and press enter again, it’ll type it all again, and what you’re looking for is continued changes added to the end of the log. That should show you if anything is actually going on when the script is running.

Let us know what you find - the maximum I would expect you need to let this run and still complete the update is about 10 minutes.


#8

Thank you for your reply.

Had a look at the first part. No matter how I start my Hydra, it’s always called the same in the device manager.
It’s always “GHI NETMF Interface”… also when I start it with 5sek Pin8 S3 to ground.
But I’m not so sure about the COM numer… this “HUB2” confuses me a bit >.>

I have a look at your second part… need to understand it first. gimmi a moment^^
edit: … figured^^ I still get the feeling, that COM1 is not correct >.> but no other com works. also tried to plug it to different usb ports. everythung is hub2. weird


#9

hmm, I guess I uninstal SDK 4.3 and go back to 4.2. I don’t want to waste some ppls time just for that probably small issue.

Thank you all for help


#10

@ evul - Before you give up, if you have another PC available to try, it might be worth giving it a shot from another machine.

I was having issues updating the loader on my FEZ Spider on Windows 8.1, but was able to successfully complete the update on a machine where I have the Windows 10 Tech Preview loaded. Not directly comparable, since you’re updating FEZ Hydra, but sometimes it can be as simple as something misconfigured on your PC, and another machine might just work.


#11

dank it… just going back to 4.2 isn’t really working very well… getting errors when crating a project… probably aren’t the uninstalls of those SKDs not really that great -.-
ahh… I’m doomed :confused:

Well, I have a a other win7 pc… but I’m not sure if I want to messup that one too with those tonns of VisualBasic installations :confused:
It’s pretty hard to get rid of that stuff >.<

I try to cleanup the win8 pc.
Installing :
VisualSTudio12
GHI NETMF v4.2 and .net Gadgeteer Package
and some other SDK installer that I have from oler times… probably needet too >.>

wish me luck… I’ll need it


#12

If you do not get a COM port showing up then you are NOT going into loader mode correctly. You must keep trying to do that before giving up !

From the developers guide https://www.ghielectronics.com/docs/39/fez-hydra-developers-guide

[quote]
To update the loader, you must erase the device and then deploy the new loader. To begin, connect pin eight on socket three or four to ground, power the board, wait five seconds, then unground the pin. If your FEZ Hydra has a small button just above socket 9, you can hold that down while powering the board instead of grounding pin 8.

After you do that, the device will show up as a COM port in the Devices and Printers menu in Windows. Make note of the COM port number.[/quote]

COM1 is probably something that already exists on your PC - no wonder it doesn’t respond correctly, and doesn’t program the Hydra (because it’s not the hydra).

You really must get it to boot into loader mode before you worry about going back to another PC.

Here’s a trick I learnt when updating my Hydra. With the socket quick reference open on screen near you so you can make sure you have the right pins, https://www.ghielectronics.com/docs/305/gadgeteer-sockets-quick-reference get a paperclip straightened so you can roughly touch the two pins with one end. Plug the Hydra in to the PC normally, and open Device Manager so you can see the USB device (it should show GHI debuggable netmf device). If you’re right handed, hold the board in your left hand, with a finger where you can hold the reset button down. Then, press and hold reset, then touch pin 8 and 10 with the paperclip, when you think you’re touching them both at the same time release reset without moving the board. Repeat this until you get a COM port showing up not the debuggable netmf device. (last time I tried this I was getting something like 1 in 5 successful at the start, then I was getting more like 95% success after a little practice)


#13

I noticed, that it is almost impossible to get th old skd working xD

So I try again to update the Hydra.
Ya, a friend told me last night in the bar too, that if something isn’t booting as serial-device, it wont be in the device-manager on a COM port.

Thx Brett for the tipps.
The paperclip idea did help me… atlest the Hydra booted up as something else and did show up on COM… the funny thhing is, my windows says, it’s a “GPS Camera Detect” … however… then I try to Update this “Camera”^^

The Log.txt says that it’s erasing stuff… seems to work… I’m just worried that the PC makes sometimes the “disconnect/connect” sound :confused:
I let the update run for 25min… and hope it’s done after that time…

hmm… How do I get the Hydra to normal mode again? it is now always showing up in the COM section >.> and a second update is not possible, since it says “The process is already in use” or “Access denied” >.>

Log file came this far: (maybe is there more information for some of you)

-I- Waiting …
-I- TCL platform : Windows NT
-I- SAM-BA CDC 2.10 on : windows
-I- Retrieved arguments from command line :
-I- argv 0 : com3
-I- argv 1 : at91sam9rl64-ek
-I- argv 2 : Loader.tcl
-I- Connection : com3 (target(comType) = 3)
-I- Board : at91sam9rl64-ek
-I- Traces Level : 4
-I- target(handle) : file1ab1c40
Read device Chip ID at 0xfffff240 — get 0x019b03a0
-I- Found processor : at91sam9rl64 (Chip ID : 0x019b03a0)
-I- Command line mode : Execute script file : Loader.tcl
-I- DATAFLASH::Init 0 (trace level : 4)
-I- Loading applet isp-dataflash-fez_hydra.bin at address 0x300000
-I- Memory Size : 0x420000 bytes
-I- Buffer address : 0x302CD8
-I- Buffer size: 0x18C0 bytes
-I- Applet initialization done
-I- Erasing: 0x18C0 bytes at address 0x0
-I- Erasing: 0x18C0 bytes at address 0x18C0
-I- Erasing: 0x18C0 bytes at address 0x3180
-I- Erasing: 0x18C0 bytes at address 0x4A40
-I- Erasing: 0x18C0 bytes at address 0x6300
-I- Erasing: 0x18C0 bytes at address 0x7BC0
-I- Erasing: 0x18C0 bytes at address 0x9480
-I- Erasing: 0x18C0 bytes at address 0xAD40
-I- Erasing: 0x18C0 bytes at address 0xC600
-I- Erasing: 0x18C0 bytes at address 0xDEC0
-I- Erasing: 0x18C0 bytes at address 0xF780
-I- Erasing: 0x18C0 bytes at address 0x11040
-I- Erasing: 0x18C0 bytes at address 0x12900
-I- Erasing: 0x18C0 bytes at address 0x141C0
-I- Erasing: 0x18C0 bytes at address 0x15A80
-I- Erasing: 0x18C0 bytes at address 0x17340
-I- Erasing: 0x18C0 bytes at address 0x18C00
-I- Erasing: 0x18C0 bytes at address 0x1A4C0
-I- Erasing: 0x18C0 bytes at address 0x1BD80
-I- Erasing: 0x18C0 bytes at address 0x1D640
-I- Erasing: 0x18C0 bytes at address 0x1EF00
-I- Erasing: 0x18C0 bytes at address 0x207C0
-I- Erasing: 0x18C0 bytes at address 0x22080
-I- Erasing: 0x18C0 bytes at address 0x23940
-I- Erasing: 0x18C0 bytes at address 0x25200
-I- Erasing: 0x18C0 bytes at address 0x26AC0
-I- Erasing: 0x18C0 bytes at address 0x28380
-I- Erasing: 0x18C0 bytes at address 0x29C40
-I- Erasing: 0x18C0 bytes at address 0x2B500
-I- Erasing: 0x18C0 bytes at address 0x2CDC0
-I- Erasing: 0x18C0 bytes at address 0x2E680
-I- Erasing: 0x18C0 bytes at address 0x2FF40
-I- Erasing: 0x18C0 bytes at address 0x31800
-I- Erasing: 0x18C0 bytes at address 0x330C0
-I- Erasing: 0x18C0 bytes at address 0x34980
-I- Erasing: 0x18C0 bytes at address 0x36240
-I- Erasing: 0x18C0 bytes at address 0x37B00
-I- Erasing: 0x18C0 bytes at address 0x393C0
-I- Erasing: 0x18C0 bytes at address 0x3AC80
-I- Erasing: 0x18C0 bytes at address 0x3C540
-I- Erasing: 0x18C0 bytes at address 0x3DE00
-I- Erasing: 0x18C0 bytes at address 0x3F6C0
-I- Erasing: 0x18C0 bytes at address 0x40F80
-I- Erasing: 0x18C0 bytes at address 0x42840
-I- Erasing: 0x18C0 bytes at address 0x44100
-I- Erasing: 0x18C0 bytes at address 0x459C0
-I- Erasing: 0x18C0 bytes at address 0x47280
-I- Erasing: 0x18C0 bytes at address 0x48B40
-I- Erasing: 0x18C0 bytes at address 0x4A400
-I- Erasing: 0x18C0 bytes at address 0x4BCC0
-I- Erasing: 0x18C0 bytes at address 0x4D580
-I- Erasing: 0x18C0 bytes at address 0x4EE40
-I- Erasing: 0x18C0 bytes at address 0x50700
-I- Erasing: 0x18C0 bytes at address 0x51FC0
-I- Erasing: 0x18C0 bytes at address 0x53880
-I- Erasing: 0x18C0 bytes at address 0x55140
-I- Erasing: 0x18C0 bytes at address 0x56A00
-I- Erasing: 0x18C0 bytes at address 0x582C0
-I- Erasing: 0x18C0 bytes at address 0x59B80
-I- Erasing: 0x18C0 bytes at address 0x5B440
-I- Erasing: 0x18C0 bytes at address 0x5CD00
-I- Erasing: 0x18C0 bytes at address 0x5E5C0
-I- Erasing: 0x18C0 bytes at address 0x5FE80
-I- Erasing: 0x18C0 bytes at address 0x61740
-I- Erasing: 0x18C0 bytes at address 0x63000
-I- Erasing: 0x18C0 bytes at address 0x648C0
-I- Erasing: 0x18C0 bytes at address 0x66180
-I- Erasing: 0x18C0 bytes at address 0x67A40
-I- Erasing: 0x18C0 bytes at address 0x69300
-I- Erasing: 0x18C0 bytes at address 0x6ABC0
-I- Erasing: 0x18C0 bytes at address 0x6C480
-I- Erasing: 0x18C0 bytes at address 0x6DD40
-I- Erasing: 0x18C0 bytes at address 0x6F600
-I- Erasing: 0x18C0 bytes at address 0x70EC0
-I- Erasing: 0x18C0 bytes at address 0x72780
-I- Erasing: 0x18C0 bytes at address 0x74040
-I- Erasing: 0x18C0 bytes at address 0x75900
-I- Erasing: 0x18C0 bytes at address 0x771C0
-I- Erasing: 0x18C0 bytes at address 0x78A80
-I- Erasing: 0x18C0 bytes at address 0x7A340
-I- Erasing: 0x18C0 bytes at address 0x7BC00
-I- Erasing: 0x18C0 bytes at address 0x7D4C0
-I- Erasing: 0x18C0 bytes at address 0x7ED80
-I- Erasing: 0x18C0 bytes at address 0x80640
-I- Erasing: 0x18C0 bytes at address 0x81F00
-I- Erasing: 0x18C0 bytes at address 0x837C0
-I- Erasing: 0x18C0 bytes at address 0x85080
-I- Erasing: 0x18C0 bytes at address 0x86940
-I- Erasing: 0x18C0 bytes at address 0x88200
-I- Erasing: 0x18C0 bytes at address 0x89AC0
-I- Erasing: 0x18C0 bytes at address 0x8B380
-I- Erasing: 0x18C0 bytes at address 0x8CC40
-I- Erasing: 0x18C0 bytes at address 0x8E500
-I- Erasing: 0x18C0 bytes at address 0x8FDC0
-I- Erasing: 0x18C0 bytes at address 0x91680
-I- Erasing: 0x18C0 bytes at address 0x92F40
-I- Erasing: 0x18C0 bytes at address 0x94800
-I- Erasing: 0x18C0 bytes at address 0x960C0
-I- Erasing: 0x18C0 bytes at address 0x97980
-I- Erasing: 0x18C0 bytes at address 0x99240
-I- Erasing: 0x18C0 bytes at address 0x9AB00
-I- Erasing: 0x18C0 bytes at address 0x9C3C0
-I- Erasing: 0x18C0 bytes at address 0x9DC80
-I- Erasing: 0x18C0 bytes at address 0x9F540
-I- Erasing: 0x18C0 bytes at address 0xA0E00
-I- Erasing: 0x18C0 bytes at address 0xA26C0
-I- Erasing: 0x18C0 bytes at address 0xA3F80
-I- Erasing: 0x18C0 bytes at address 0xA5840
-I- Erasing: 0x18C0 bytes at address 0xA7100
-I- Erasing: 0x18C0 bytes at address 0xA89C0
-I- Erasing: 0x18C0 bytes at address 0xAA280
-I- Erasing: 0x18C0 bytes at address 0xABB40
-I- Erasing: 0x18C0 bytes at address 0xAD400
-I- Erasing: 0x18C0 bytes at address 0xAECC0
-I- Erasing: 0x18C0 bytes at address 0xB0580
-I- Erasing: 0x18C0 bytes at address 0xB1E40
-I- Erasing: 0x18C0 bytes at address 0xB3700
-I- Erasing: 0x18C0 bytes at address 0xB4FC0
-I- Erasing: 0x18C0 bytes at address 0xB6880
-I- Erasing: 0x18C0 bytes at address 0xB8140
-I- Erasing: 0x18C0 bytes at address 0xB9A00
-I- Erasing: 0x18C0 bytes at address 0xBB2C0
-I- Erasing: 0x18C0 bytes at address 0xBCB80
-I- Erasing: 0x18C0 bytes at address 0xBE440
-I- Erasing: 0x18C0 bytes at address 0xBFD00
-I- Erasing: 0x18C0 bytes at address 0xC15C0
-I- Erasing: 0x18C0 bytes at address 0xC2E80
-I- Erasing: 0x18C0 bytes at address 0xC4740
-I- Erasing: 0x18C0 bytes at address 0xC6000
-I- Erasing: 0x18C0 bytes at address 0xC78C0
-I- Erasing: 0x18C0 bytes at address 0xC9180
-I- Erasing: 0x18C0 bytes at address 0xCAA40
-I- Erasing: 0x18C0 bytes at address 0xCC300
-I- Erasing: 0x18C0 bytes at address 0xCDBC0
-I- Erasing: 0x18C0 bytes at address 0xCF480
-I- Erasing: 0x18C0 bytes at address 0xD0D40
-I- Erasing: 0x18C0 bytes at address 0xD2600
-I- Erasing: 0x18C0 bytes at address 0xD3EC0
-I- Erasing: 0x18C0 bytes at address 0xD5780
-I- Erasing: 0x18C0 bytes at address 0xD7040
-I- Erasing: 0x18C0 bytes at address 0xD8900
-I- Erasing: 0x18C0 bytes at address 0xDA1C0
-I- Erasing: 0x18C0 bytes at address 0xDBA80
-I- Erasing: 0x18C0 bytes at address 0xDD340
-I- Erasing: 0x18C0 bytes at address 0xDEC00
-I- Erasing: 0x18C0 bytes at address 0xE04C0
-I- Erasing: 0x18C0 bytes at address 0xE1D80
-I- Erasing: 0x18C0 bytes at address 0xE3640
-I- Erasing: 0x18C0 bytes at address 0xE4F00
-I- Erasing: 0x18C0 bytes at address 0xE67C0
-I- Erasing: 0x18C0 bytes at address 0xE8080
-I- Erasing: 0x18C0 bytes at address 0xE9940
-I- Erasing: 0x18C0 bytes at address 0xEB200
-I- Erasing: 0x18C0 bytes at address 0xECAC0
-I- Erasing: 0x18C0 bytes at address 0xEE380
-I- Erasing: 0x18C0 bytes at address 0xEFC40
-I- Erasing: 0x18C0 bytes at address 0xF1500
-I- Erasing: 0x18C0 bytes at address 0xF2DC0
-I- Erasing: 0x18C0 bytes at address 0xF4680
-I- Erasing: 0x18C0 bytes at address 0xF5F40
-I- Erasing: 0x18C0 bytes at address 0xF7800
-I- Erasing: 0x18C0 bytes at address 0xF90C0
-I- Erasing: 0x18C0 bytes at address 0xFA980
-I- Erasing: 0x18C0 bytes at address 0xFC240
-I- Erasing: 0x18C0 bytes at address 0xFDB00
-I- Erasing: 0x18C0 bytes at address 0xFF3C0
-I- Erasing: 0x18C0 bytes at address 0x100C80
-I- Erasing: 0x18C0 bytes at address 0x102540
-I- Erasing: 0x18C0 bytes at address 0x103E00
-I- Erasing: 0x18C0 bytes at address 0x1056C0
-I- Erasing: 0x18C0 bytes at address 0x106F80
-I- Erasing: 0x18C0 bytes at address 0x108840
-I- Erasing: 0x18C0 bytes at address 0x10A100
-I- Erasing: 0x18C0 bytes at address 0x10B9C0
-I- Erasing: 0x18C0 bytes at address 0x10D280
-I- Erasing: 0x18C0 bytes at address 0x10EB40
-I- Erasing: 0x18C0 bytes at address 0x110400
-I- Erasing: 0x18C0 bytes at address 0x111CC0
-I- Erasing: 0x18C0 bytes at address 0x113580
-I- Erasing: 0x18C0 bytes at address 0x114E40
-I- Erasing: 0x18C0 bytes at address 0x116700
-I- Erasing: 0x18C0 bytes at address 0x117FC0
-I- Erasing: 0x18C0 bytes at address 0x119880
-I- Erasing: 0x18C0 bytes at address 0x11B140
-I- Erasing: 0x18C0 bytes at address 0x11CA00
-I- Erasing: 0x18C0 bytes at address 0x11E2C0
-I- Erasing: 0x18C0 bytes at address 0x11FB80


#14

that’s absolutely working - but not yet done by the looks of it !

The GPS Camera Detect is just a common device that gets listed - its certainly expected. Not sure why you are hearing disconnect/reconnect sounds, can you see any new devices? The way this update should run is it finishes the script updating the loader, then I think it will reboot the device and you can load netmf to the device, but it shouldn’t reboot before that.


#15

well… it stopped at that point with updating.
Now the Hydra connects always as serial device. and I can’t start another update cuz it days "The process can’t reach the file becuse it’s already in use by a other process"
and since It’s not anymore a USB device,the FEZ Config won’t connect to the board.

Any possibility to reset te board? I’m atm a bit stuck >.>

greetings evul


#16

it seems that the Hydra messed up the loader on the pc >.> and’t it’s not a process on the board.
I try to make the update on my win8 pc… it seems to work there. let’s see if it gets further there^^

thanks for help so far. I add my result here^^

edit: sucess… update took like 30sec. on the win8 pc^^ including a done message and a full log :smiley:

yay and Firmwareupdate works now too on the win7 pc.

thank you ppl sooooo much for your patience and help. I was reaaally lost.

greetings evul