@Taikeido
The unit/device main software, aka "firmware", for Garmin's Forerunner 920XT and probably other watches quite differs from their usual structure. In the case of the Forerunner 920XL, it's in RGN format rather than wrapped in a GCD file. Of course that in itself is not unusual at all particularly in their older navigational devices all of which used RGN files often wrapped as an EXE file. GCD files are basically RGN files with an additional header to allow the extraction of the file by the device itself to update it's firmware.
Where your 920XT is unusual is that Garmin's supplied RGN file seemingly is "an RGN within an RGN", and when that underlying file is saved then compared to the supplied file they both contain only one BIN file (fw_all.bin), the main system software for region 0E (decimal 14). There is no boot.bin present (actually it's the ramloader and not a bootloader) which is contained in a 'normal' RGN file. I suspect that the supplied RGN file, which has an additional header somewhat like a GCD file, is made like that so that it can be handled by GarminExpress which usually does not process the more-common 'normal' RGN files. That's because GE connects to devices in Mass Storage Mode/Media Transport Protocol rather than Garmin Mode/Preboot Mode. The latter modes being used, for example, by Updater.exe to flash a 'normal' RGN file's BINs directly to the relevant Regions of devices' flash memory. Now GarminExpress does things quite differently, it places a software update file appropriately in the device's GARMIN folder and then on the next boot-cycle the device itself deals with the file and updates the relevant region(s) accordingly, exactly as Updater.exe does directly in preboot. Aye there's the rub, to quote Hamlet. Because to remove the corrupt update file from the device we need Mass Storage Mode and to re-gain that in a soft-bricked device we usually modify the ramloader (boot.bin) using Cure3 or some other method but there is no boot.bin as such. I am quite certain what's preventing your device from booting is that the update file was only partially transferred to the device by GE but is indeed present in the Garmin folder as 'gupdate-990.rgn' or similar name albeit incomplete. The device detects it but stalls on the logo splash screen trying to extract the file. The solution is to remove the corrupt file or overwrite it with a healthy one but i don't know how to do that with certainty or with therefore absolute safety without access to the ramloader to modify it.
I'm now guessing from hereon so you will be proceeding entirely at your own risk, however i think that you may be able to flash the 'underlying' RGN in preboot using Updater.exe safely despite that there is no conventional ramloader present in the firmware. That of course would not 'un-brick' it because the corrupt update file will still remain in the Garmin folder and will be detected again on the next boot attempt. However if you modify the appropriate reference to RGN internally to change that reference of 'RGN' in it to something else, say, XGN for example, and then flash that modified file with Updater.exe you may be able to get MSM back because hopefully it won't look for the update file on boot. That's how Cure3 firmware works, by modifying common file names such as IMG, GPI and importantly GCD to other names so they are not initialized on start. In this case we are only concerned with a specific update file with ".rgn" extension rather than with ".gcd". To do that modification you should obtain the file "Forerunner920XT_990.rgn" from the following coded link:
Then open Forerunner920XT_990.rgn in RGN_Tool (extract attached ZIP below) and press the 'Save' button in the first section to save the underlying RGN file:Code:Please Login or Register to see the links
[Only registered and activated users can see links. ]
It will prompt you to save the file as "fw_all.bin" so change both the file's name and its extension to "test.rgn". Open test.rgn in a Hex editor and search for GUPDATE in plain text which is 47 55 50 44 41 54 45 in hexadecimal. There should be only one instance of it which is followed by "RGN" (52 47 4E) so use the edit function of the editor to change that single instance only of RGN to XGN (58 47 4E) then save the file as cure.rgn or something else convenient. Read more here on making cure firmware the 'old-fashioned' way: [Only registered and activated users can see links. ]. In your case you are only concerned with the one single file, named GUPDATE.RGN or similar.
If you want, although a little pointless in this case, you can change the file's name from cure.rgn to the 'safe-naming' of 176501000990.RGN before flashing with Updater.exe in preboot. Hopefully after flashing even though the watch will still stick on the logo splash screen it will have Mass Storage Mode re-enabled and you can remove the corrupt GUPDATE.RGN file from the GARMIN folder. You can then flash the original firmware back to allow it to fully boot.
Remember, this is all at your own risk. If you need help making the cure RGN i'm happy to do so, just ask.



Likes: 



Reply With Quote

Bookmarks