Welcome guest, is this your first visit? Click the "Create Account" button now to join.
Results 1 to 10 of 28

Threaded View

  1. #27
    Navigation software Moderator kunix's Avatar
    Join Date
    Sep 2011
    Location
    Belarus
    Posts
    908
    Rep Power
    439

    Default

    cliny
    I'll try to present an easy example of how running Asian firmware oin your 13xx could make European firmware crash.
    Let's imagine that the European firmware treats the 5th byte of the NV record number 0x1234 as an index of the current navigation mode (Pedestrian, Auto, Truck, ...), but the Japanese firmware treats this byte as something else, and, when being run, it rewrites the byte with some other value, say, 255.
    Then the European firmware is flashed and it seems to work quite fine, except maybe the routing is a little bit strange (because 255 is not a valid navigation mode index).
    But the European firmware crashes when the navigation mode selection window is opened, because it tries to read the current navigation mode name from an invalid location.

    This is a just trivial example, and I suspect it's easy to be cured with NV clearing. But this example is totally real, and I've encountered it.

    And now imagine that the bug is more complicated, in particular, the European firmware crashes when booting on devices that have some particular display language selected. So you wouldn't detect this bug, but some users would encounter it, and they wouldn't know how to fix it, because clearing NV is unavailable. However, the fix is still available(NV cloning), but the device is going to loose it's identity (UnitID, Serial Number) in case there is no NV backup, taken from it. Did you warn your users about making NV backups? Nope.

    Now imagine that when booting the European firmware corrupts the 5th byte again in such a way that any Asian firmware crashes when booting also. Now the nuvi can't run any existing firmware. A few month ago this meant that the device would be effectively bricked, because NV cloning required at least one running firmware, but now there is a [Only registered and activated users can see links. ]

    Now imagine that the bootloader crashes due to some configuration corruption. This would be the end.

    Now think carefully about the fact that really nothing prevents bugs from having all of the aforementioned properties, i.e. deadly crashes in the bootloader occurring only on certain devices, because the unit software is essentially a black box for us. In this case you can brick lots of devices while yours would be ok.
    There easily could be a milder case, when the European firmware starts silently making routing mistakes or somethings else, thus worsening the user experience. Would this user try to restore the NV backup, that you probably didn't tell him to make? Nope.

    So, I hope this post convinces you that software isn't so easy and predictable, expecially when you don't have a reliable access to the configuration (NV in this case) and you make something illegal (the Japanese firmware wouldn't run on the European devices without your hacking, so it doesn't have to be compatible at all with the European one).
    Last edited by kunix; 15th April 2012 at 01:40 AM.

 

 

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •