Readers of our blog know we’re heavy Maretron users and big fans. The products are well-priced and easy-to-use, with great customer service. Read more about our Maretron usage at Maretron N2KView on Dirona.
Firmware upgrades to any company’s devices are always risky, so we typically try to avoid them. But firmware upgrades sometimes are necessary, and they don’t always go well. Bus errors, faults, voltage spikes, and very high load are all possible during a firmware upgrade and could cause the upgrade to fail. What happens in a firmware upgrade is new code is installed on the device, overlaying old code. If the firmware upgrade fails, you can end up in a situation where you neither have the new code nor the old code complete.
A blog reader recently asked us how to handle a bricked Maretron device.
I am having a little problem that you may be familiar with.
Firstly, as an update to my Maretron integration progress, I know have 2x EMU-1’s on the system (wing and main) and will add the 3rd to genset, 2x TMP100’s loaded with under bolt sensors across everything that matters including shaft glands and return line for hydraulic fluid on trac etc, the FFM100 for fuel management well. I retained the old flowscan and added a 2nd bypass line in supply and return controlled by valves. I can run either the old flowscan or new Maretron fuel sensors and this gives me redundancy should one line have a leak or a sensor fail.
Then I added the DSM410 which I think is absolutely marvelous in its config ability. Prefer to use this as it uses almost no power so is on 24/7 to control the ALM100 etc for any serious events. Loaded with 15x or more trigger alarms at present.
I have attempted an update to FW to the latest on the DSM410 and it failed with error 0200. Boot loader is 1.2.1. being familiar with FW updates from my IT days, I always do these with a bit of trepidation.
Going back to the first FW, middle and latest is the same result. Device shows in recovery mode in N2kAanalyzer. Bandwidth % is only 10% on the network and is now rock solid without any errors since I discovered the installers had missed fitting the terminator at top of mast where the WSO100 was.
I researched during the weekend and found a Maretron doc that says that you can recover FW back to factory defaults via same method as FW update and that it will ask for PN to be entered first. That function no longer exists in the latest N2KAnalyzer SW version 22.214.171.124
I made another attempt at fw update this morning after the network being turned off overnight, this time it worked and at the very first FW.
I immediately did a backup of DSM410….thank god, as I have a huge investment in time on custom configs in that unit.
Then tried to update incrementaly to next FW and it failed, after that no go on any fw update with same error. Looking at PGN’s being issued from DSM410, it is sending out “self test error status: FLASH REGION 1” which is an EEPROM error I imagine on either corrupted, empty or unreadable.
So, this experience has certainly made me realise how critical the DSM410 is to the boat so have ordered a 2nd immediately.
If it is a packet corruption during sending over the wire, I would have thought that a well implemented CRC checking process would have self corrected that. Not getting that deep into the NMEA2000 protocol, I wouldn’t know if they even implement a robust CRC checking system anyway.
At this stage, I am tending toward thinking is it a heat related semi conductor failiure. When cold, working fine till it warms up.
Have you had experience with this sort of problem, if I may ask James.
Yes, I have seen that and I don’t update firmware often as a consequence. The problem isn’t common but it can happen and, when it does, it’s a real hassle to recover. From N2kAnalyzer you can recover the unit using the <setup><recover device> menu. It’ll tell you to disconnect the device, then reconnect, and enter the device serial number. That usually works. If it doesn’t work, you may need to set up a NMEA2000 network with nothing else on it. In the rare times I’ve seen that, I use a USB to NMEA2000 adapter, power inserter, and the bad device only, with a NMEA2000 terminator on both sides. I’ve never failed in that mode.
And, if you send it back to Maretron, they will recover it for you.
It might be worth checking your bus using an N2KMeter. If you have any errors happening on the bus, it increases the odds of this sort of issue. Your bus should produce zero errors in an hour or two of running.
Thanks ever so much on all of that. I tried your suggestion of putting the DSM410 onto a mini NMEA2000 network and moved the IPG100 onto it so I could access it via WIFI. I had a 2nd network that is new and very short just running critical NAV equipment and autopilot.
The FW updates worked a treat, did them from the oldest to newest and all 3x applied successfully.
I had my suspicions that the size of the FW update on the DSM410 is partly to blame and really needs a short, unloaded network to be reliable in big FW updates. I can see that error detection and correction is lacking on the NMEA2000 protocol somewhat but this suggestion of yours is a good robust workaround.
I’ll get a N2kmeter as well per your advice. The investment in the NMEA2000 equipment makes this a sensible decision in helping keep the networks running error free.
The meter and spares makes problem determination on NMEA2000 super easy. I put the N2KMeter on once a year, and used to every 6 months, to catch any errors. The combination makes the system super easy.
Glad that all worked.