gmapsupp f. GPS 62 umbennen per Terminal erfolglos.

  • Ich nutze Ubuntu 12.04 Linux und QLandkarte GT.
    Ich kompiliere die Karten für das Garmin selber gmapsupp.img
    Diese Files kann ich dann auch umbennen, auf der SD Karte liegen sie dann als MTB_GREECE.img oder mtbgreece.img
    Aber das Garmin erkennt sie in der Karten übersicht immer nur als OSM Karten an.
    So habe ich keinen überblick welche Karte ich ein oder ausgeschaltet habe.


    Ich habe schon einiges versucht.
    $ java -Xmx512M -jar /usr/share/mkgmap/mkgmap.jar --family-id=9999 --family-name=openmtbmap --gmapsupp 6*.img 7*.img clas*.TYP


    --family-id=9999 geändert = ohne Erfolg
    family-name=openmtbmap geändert = ohne Erfolg
    usw.....


    Kann mir einer weiterhelfen`?


    Zur Zeit erstelle ich die img per QLandkarte GT. Dort kann ich dem Karten img einen anderen Namen vergeben, dieser wird im GPS62 auch nicht angezeigt.


    Die Sache ist ziemlich nervig. Es wird immer nur OSM Karte angezeigt.
    Das ist herlich bei 7 verschiedenen Karten oder nur Höhenlinien.


    Sicher wieder die Firma Garmin, welche verhindern möchte, OSM Karten zu nutzen.


    Mich würde es aber interessieren wie es per Terminal geht.

  • Die Gamingeräte lesen den Kartennamen aus der Datei. Der Dateiname ist egal. Dieser Name steht im MPS Abschnitt. Das kannst Du mit einem Hexeditor verifizieren. Dazu suchts Du erstmal die Zeichenkette "MPS"


    Das sieht zum Beispiel so aus.


    [code:1]
    0000:3600 | 01 4D 41 50 53 4F 55 52 43 4D 50 53 2D 01 00 00 | .MAPSOURCMPS-...
    0000:3610 | 00 00 FF FF FF FF FF FF FF FF FF FF FF FF FF FF | ..ÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
    0000:3620 | 4D 01 FF FF FF FF FF FF FF FF FF FF FF FF FF FF | M.ÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
    [/code:1]


    Am Anfang der dritten Zeile steht der erste Blockindex von diesem Abschnitt. Also 0x14D (little endian!). Den multiplizierst Du mit 0x1000. Das Ergebnis ist der Offset in die Datei. 0x14D0000 in diesem Fall. Dort steht in meinem Beispiel.:


    [code:1]
    014C:FFF0 | FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF | ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
    014D:0000 | 4C 41 00 01 00 BC 02 4D 02 00 00 44 65 75 74 73 | LA...¼.M...Deuts
    014D:0010 | 63 68 6C 61 6E 64 20 54 6F 70 6F 20 76 32 00 50 | chland Topo v2.P
    014D:0020 | 61 72 73 62 65 72 67 00 44 65 75 74 73 63 68 6C | arsberg.Deutschl
    014D:0030 | 61 6E 64 20 54 6F 70 6F 20 76 32 00 4B 42 66 00 | and Topo v2.KBf.
    014D:0040 | 00 00 00 00 4C 43 00 01 00 BC 02 4E 02 00 00 44 | ....LC...¼.N...D
    014D:0050 | 65 75 74 73 63 68 6C 61 6E 64 20 54 6F 70 6F 20 | eutschland Topo
    014D:0060 | 76 32 00 52 65 67 65 6E 73 62 75 72 67 00 44 65 | v2.Regensburg.De
    014D:0070 | 75 74 73 63 68 6C 61 6E 64 20 54 6F 70 6F 20 76 | utschland Topo v
    014D:0080 | 32 00 4C 42 66 00 00 00 00 00 4C 40 00 01 00 BC | 2.LBf.....L@...¼
    014D:0090 | 02 5E 02 00 00 44 65 75 74 73 63 68 6C 61 6E 64 | .^...Deutschland
    014D:00A0 | 20 54 6F 70 6F 20 76 32 00 4B 65 6C 68 65 69 6D | Topo v2.Kelheim
    014D:00B0 | 00 44 65 75 74 73 63 68 6C 61 6E 64 20 54 6F 70 | .Deutschland Top
    014D:00C0 | 6F 20 76 32 00 5C 42 66 00 00 00 00 00 4C 42 00 | o v2.\Bf.....LB.
    014D:00D0 | 01 00 BC 02 5F 02 00 00 44 65 75 74 73 63 68 6C | ..¼._...Deutschl
    014D:00E0 | 61 6E 64 20 54 6F 70 6F 20 76 32 00 4C 61 6E 67 | and Topo v2.Lang
    014D:00F0 | 71 75 61 69 64 00 44 65 75 74 73 63 68 6C 61 6E | quaid.Deutschlan
    014D:0100 | 64 20 54 6F 70 6F 20 76 32 00 5D 42 66 00 00 00 | d Topo v2.]Bf...
    014D:0110 | 00 00 46 18 00 01 00 BC 02 44 65 75 74 73 63 68 | ..F....¼.Deutsch
    014D:0120 | 6C 61 6E 64 20 54 6F 70 6F 20 76 32 00 FF FF FF | land Topo v2.ÿÿÿ
    014D:0130 | FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF | ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
    [/code:1]


    Der Kartenname ist in diesem Fall die letzte Zeichenkette "Topo Deutschland V2". Die kannst Du abändern, solange Du nicht die Länge veränderst.


    Mit GMapTools (Windows Version mit wine) kann man das auch etwas komfortabler machen. Danach sieht die Tabelle so aus:



    [code:1]
    014C:FFF0 | FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF | ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
    014D:0000 | 4C 41 00 01 00 BC 02 4D 02 00 00 44 65 75 74 73 | LA...¼.M...Deuts
    014D:0010 | 63 68 6C 61 6E 64 20 54 6F 70 6F 20 76 32 00 50 | chland Topo v2.P
    014D:0020 | 61 72 73 62 65 72 67 00 44 65 75 74 73 63 68 6C | arsberg.Deutschl
    014D:0030 | 61 6E 64 20 54 6F 70 6F 20 76 32 00 4B 42 66 00 | and Topo v2.KBf.
    014D:0040 | 00 00 00 00 4C 43 00 01 00 BC 02 4E 02 00 00 44 | ....LC...¼.N...D
    014D:0050 | 65 75 74 73 63 68 6C 61 6E 64 20 54 6F 70 6F 20 | eutschland Topo
    014D:0060 | 76 32 00 52 65 67 65 6E 73 62 75 72 67 00 44 65 | v2.Regensburg.De
    014D:0070 | 75 74 73 63 68 6C 61 6E 64 20 54 6F 70 6F 20 76 | utschland Topo v
    014D:0080 | 32 00 4C 42 66 00 00 00 00 00 4C 40 00 01 00 BC | 2.LBf.....L@...¼
    014D:0090 | 02 5E 02 00 00 44 65 75 74 73 63 68 6C 61 6E 64 | .^...Deutschland
    014D:00A0 | 20 54 6F 70 6F 20 76 32 00 4B 65 6C 68 65 69 6D | Topo v2.Kelheim
    014D:00B0 | 00 44 65 75 74 73 63 68 6C 61 6E 64 20 54 6F 70 | .Deutschland Top
    014D:00C0 | 6F 20 76 32 00 5C 42 66 00 00 00 00 00 4C 42 00 | o v2.\Bf.....LB.
    014D:00D0 | 01 00 BC 02 5F 02 00 00 44 65 75 74 73 63 68 6C | ..¼._...Deutschl
    014D:00E0 | 61 6E 64 20 54 6F 70 6F 20 76 32 00 4C 61 6E 67 | and Topo v2.Lang
    014D:00F0 | 71 75 61 69 64 00 44 65 75 74 73 63 68 6C 61 6E | quaid.Deutschlan
    014D:0100 | 64 20 54 6F 70 6F 20 76 32 00 5D 42 66 00 00 00 | d Topo v2.]Bf...
    014D:0110 | 00 00 46 11 00 01 00 BC 02 6C 61 62 65 72 72 61 | ..F....¼.laberra
    014D:0120 | 62 61 62 65 72 00 6F 70 6F 20 76 32 00 FF FF FF | baber.opo v2.ÿÿÿ
    [/code:1]


    Welcher Parameter das bei der Linux Kommandozeilen Version darfst Du als Hausaufgabe selber herausfinden :)


    Und: Ich habe mein Garmin gerade nicht zur Hand, deswegen kann ich nicht garantieren dass es funktioniert.