Originally Posted by
Alvinhyc
I know that using the same firmware on completely different hardware will have serious consequences, so until now I only use 2842's ldr.bin to execute rrgn 5 and rrgn 154 on 4044 hardware, and dare not try other actions.
You were wise not to try other actions. However rgn5 as said previously is the bootloader (aka 'U-boot') and is a vital region because if it's either erased or changed in an inappropriate way (e.g. flashed with data from an unrelated device) it will likely result in a totally dead irrecoverable device. As to your use of 2842's ldr.bin exclusively, i do have a query below about that.
So Ramloader will first write to region 12 and then execute it.
I mentioned previously that rgn12 is a virtual region. My understanding is that it's functions are solely to accept data from the ramloader file (boot.bin/ldr.bin) and then in turn write to two other physical regions i.e. bootloader data to rgn5 and x-loader data to rgn43. Region 43 is also a vital region like 5, because although it's function varies somewhat depending on whether the device's flash chip is NAND or NOR, it one way or another is essential in executing rgn5 either via RAM or via the CPU in some way. So if 43 can't start 5 indirectly, or 5 is started but can't in turn properly load fw_all from rgn14 and execute it, the device cannot boot. Garmin's 'fail-safe' for the latter situation where fw_all isn't able to be started (whether because 14 is empty, corrupted or simply compatible with the bootloader) is to default the device to preboot mode and show on screen the message "System Software Missing" thus prompting a user to load the appropriate data to regions from an *.RGN file via Updater.exe. So in your case 14 should be unaltered from V10.00 data along with every other region for a 4044 device including the regions like 14 which have a specific HWID in their data. (other than 5 and 43 of course, they via virtual rgn12 have been flashed using 2842's ramloader).
I've tried changing the HWID from 2842 to 4044 and putting Ldr.bin in the SD card. This is not equivalent to using Updater.exe to write boot.bin to region 12, right?
Yes it's the same but in the sense that if the device can execute from media card and also provided both 5 & 43 are already healthy. The point is that the x-loader, 43, is always involved and if the starting blocks are missing/corrupt in 43 then the device is finished because 12 can't be started anyway.
I will learn and try to use Updater.exe to write boot.bin to region 12.
It's a very simple operation. The appropriate boot.bin is opened in RGN_Tool and then saved as an *.RGN file without any other *.bin files in in. If successful, 12 will be overwritten with the correct bootloader data and it then flashes 5 & 43 on next boot attempt. Don't do it yet though because we need to clear up some inconsistencies and check some more data as written below.
I have not tried loading NV dumps from other 2842 units to my 4044.
Good. Although the Non-Volatile (NV) region is partly re-written with the device's unique information on each successful boot, having information from another device (even of the same HWID) in region 41/154 can cause irreversible bricking even at some later time during normal operation. BTW, what you might be referring to as "NV dumps" is maybe a multiple region dump such as you supplied in "Region Data" of the "From_HWID-2842(BMW NAV VI V2.6)" folder. I want to be clear that the generally accepted meaning of "NV dump" (and the way i always use it) is a copy of a specific region and that's the dedicated non-volatile region of a device which is either 41 or 154 although sometimes it's both regions for certain units.
The first time I used the boot.bin of 2842 without changing the HWID, I was shocked to see "SYSTEM SOFTWARE MISSING" on the machine, and forgot to check the update.log under the Garmin\2842 folder of the SD card.
The second time I changed the HWID to 4044 and tried again, but it still displayed "SYSTEM SOFTWARE MISSING", only to find that it could not return to normal, and then I remembered to check the update.log.
Ok, it's starting to become clearer as to what happened but i still need some more information. When you say "I changed the HWID to 4044 and tried again" do you mean that on your second attempt to that you changed the HWID folder name only or do you mean you changed both the folder name AND changed the internal HWID in the Ldr.bin file too? Also, i find that confusing because if the first attempt was with a folder named 2842 it shouldn't have worked at all if your device was HWID 4044 from the factory and so it wouldn't read an SD folder named anything other than "4044". Was it the other-way around in fact and your first attempt was with 4044 and second attempt 2842? Regardless, the different UID in the update.log files makes no sense to me because the 10-digit Unit Identification number are not changeable. Certainly the 4-digit Hardware Identification numbers are easily edited in fw and thus written to a device of course, although that practice can be risky if used unwisely. Permanently changing a UID is not a trivial process and certainly not a usual or unintended consequence of changing the HWID of a device. So can you absolutely assure me that BOTH log files for UID 3375696611 and UID 3952386425 were from your device and not one from yours and one from your friend's JN device?
I think this is the first time, although the HWID of the Ramloader is 2842, other zones are not damaged even zone 12, so the rrgn command is executed successfully, and the first record shows UID 3375696611 of 4044.
Then region 12 or other region is changed, HWID becomes 2842 UID 3952386425.
When I second use Ldr.bin with HWID changed to 4044, zone 12 or something already has HWID of 2842, so the update.log second record shows UID 3952386425 of HWID 2842.
No that doesn't explain the UID difference as i said above. I'm speculating that if the two entries are indeed from your device that it's a refurbished unit which has had both it's HWID and UID factory reprogrammed and somehow your manipulations with running the 2842's Ldr.bin from SD card has caused it to revert to it's original UID. There is an interesting inconsistency between the two bin files from region 5 too. "2842_5.bin" has internal HWID 2842 as it should, however "5.bin" shows HWID of 2584 which is of course the original US/EU firmware's HWID - see the compare image behind the spoiler below. I was expecting to see 4044 or still 2842 but certainly not 2584. I know you wrote that you've only used 2842's ramloader but is it possible that you used the boot.bin from US/EU firmware to make the Ldr.bin for the second dump? If you didn't use the US/EU ramloader then there might be ramifications from that change happening so please be sure to answer that question in your reply.
As to changes to other regions, or in your words "not damaged", you're correct that they are not changed at all by your use of SD card running Ldr.bin for dumping other regions but certainly 12 is possibly changed because the bootloader data is re-written to it by that process. Hence if there is no change to ldr.bin there is no change to region 12, it only changes if the data in the bin files also changes. So again it's puzzling why the dumped "5.bin" file shows HWID changed to 2584 when i'd expect it to still be 2842, or changed 4044 if you'd altered it in the SD's ldr.bin (ramloader then written to 12 in turn changing 5).
Yes, I want to share all my dump files.
I got a complete 2842 firmware file and valid NV data between region 0~region 255........
Thank you, i wasn't expecting a full region dump but it is helpful. However, i must ask again for you to clarify if both the complete (all regions) dump and the one containing only 5.bin and 154.bin are from your device only or if the complete dump is from your friend's. It seems to me that it is indeed from the JN device as the 2842_14.bin matches fw_all.bin from 2842-V2.60.GCD. So could you please supply me with a copy of your device's region 14 and also a copy of it's Garmin folder? Use the Ldr.bin you used for your latest dump and in Update.txt put the commands:
copydir,0:/Garmin/,1:/BackUp/
14,1:/14.bin
reboot
Sorry for the length of this reply and the additional requests however i want to give you every opportunity to restore the device and one ill-considered move could kill it.
EDIT: Important! In your copy of update.txt Post #326 the path to SD is "2/:" but in Post #328 in Update.log it's "1/:". It should be the former i think so you may need to modify the above commands to comply. I'd copied what you had in your later post without thinkng about it. Usually if NV is in rgn154 the path is 2 for the card. In that case 1 is used for the onboard RWFS partition.
Bookmarks