• Willkommen im Geoclub - dem größten deutschsprachigen Geocaching-Forum. Registriere dich kostenlos, um alle Inhalte zu sehen und neue Beiträge zu erstellen.

Update Notifier für SW von GARMIN Geräten

rzbrk

Geocacher
Moin!

Ich habe eine erste lauffähige Version eines Update Notification Tools für SW Updates von GARMIN GPS Geräten geschrieben. Motivation waren folgende Punkte:

* Ich nutze Linux. Um GARMINs WebUpdater zu verwenden, muß ich immer eine virtuelle Windows-Kiste starten. Das ist echt nervig.
* Ich vermisse einen Benachrichtigungs-Dienst für verfügbare Updates. GARMIN hat sowas meiner Kenntnis nach nicht. Hier im Forum gibt man sich ja alle Mühe, die Liste der verfügbaren Firmwares auf den aktuellen Stand zu halten. Das klappt aber nicht für alle Geräte gleich gut. Außerdem benötige ich als Linux-User immer noch zusätzlich den Download-Link.

Im WWW habe ich Details zu der Kommunikation zwischen WebUpdater und den GARMIN Servern gefunden sowie selbst mal die Kommunikation mit der Software WireShark "mitgehorcht". Mit diesen Erkenntnissen habe ich dann ein Perl-Skript "gpsr-update.pl" geschrieben.

gpsr-update.pl wird über eine XML-Datei mit Profilen für verschiedene GARMIN Devices gefüttert. Dort werden alle Parameter für die Kommunikation mit den GARMIN Servern hinterlegt. Der wichtigste ist die "Part Number", dazu später mehr.

Das Skript soll auf meinen Server laufen und regelmäßig zeitgesteuert auf Update-Suche gehen. Wenn das Skript tatsächlich ein neues Update findet, wird eine entsprechende Nachricht via Twitter verschickt. Follower mit dem gleichen Gerät wissen dann, daß es sich möglicherweise wieder lohnt, ein Update zu ziehen. Linux-User wie ich bekommen über die Nachricht direkt den Download-Link der Update-Datei geliefert, um das Update auch ohne WebUpdater zu installieren.

Ich habe schon einen Twitter-Account eingerichtet: https://twitter.com/GPSr_Updates. Das Skript (GPL Lizenz) könnt Ihr hier ansehen:
gpsr-update.pl: http://pastebin.com/secpKA6h
devices.xml (Beispiel): http://pastebin.com/VgKWQpMx

Und jetzt zu meinen Bitten an Euch:
* Was haltet Ihr von der Idee? Blödsinn? Würdet Ihr den Service nutzen? Selbstredend verfolge ich damit keine finanziellen Absichten ...
* Ich benötige Unterstützung. Derzeit habe ich nur die Part Number von meinem Dakota 20. Ich finde im Internet keine Liste der Part Numbers für andere GARMIN Geräte. Die Part Number ist hierbei leider nicht identisch mit der Gerätekennung oder der "Produkt ID" z.B. in Katalogen oder Websites! Wenn Ihr andere GARMIN Geräte als ich habt, könnt Ihr die Part Number über ein Abhören der Kommunikation des WebUpdaters mit den GARMIN Servern ermitteln. Wenn Ihr die hier postet, kann ich die in meine devices.xml einbauen. Dann könnte ich den Service auch für andere Geräte ausbauen. Bei ausreichend positiven Feedback werde ich auch eine Anleitung, wie das mit dem "Abhören" mittels WireShark funktioniert, erstellen.

Über Euer Feedback würde ich mich freuen.

Gruß, rzbrk
 

Kalli

Geowizard
Es gibt einen RSS-Feed mit Informationen zu Updates: http://news.garminservice.de/. Außerdem hat Garmin auch einen Newsletter.

Die Urls für die gcd-Dateien kann man sich glaube ich auch ableiten, schau dazu mal ins hiesige Garmin-Forum.
 

8812

Geoguru
Kalli schrieb:
Es gibt einen RSS-Feed mit Informationen zu Updates: http://news.garminservice.de/. Außerdem hat Garmin auch einen Newsletter.
[…]
Der RSS-Feed von Garmin.de taugt nichts. Der wird vermutlich händisch von den Schnarchnasen befüllt. Und die sind fast immer Ewigkeiten hinterher. Siehe dort (Post 2 und 4): http://forum.geoclub.de/viewtopic.php?f=7&t=67783

Besser ist das: http://gpsinformation.net/allory/new.htm

Hans
 

Kalli

Geowizard
Nachtrag: Mit meinem Mail wollte ich sagen, dass es auch andere Möglichkeiten gibt. Die gcd-Datei kopiert man auf das Garmin und lässt es neu starten. Das Garmin-Protokoll kann sich ja auch ändern, und dann wird der Support für neue Geräte aufwendiger.

Zur Partnumber: In der Datei \Garmin\GarminDevice.xml gibt es folgenden Eintrag, ist es das, was Du suchst? Die Informationen lassen sich mit einem Texteditor beschaffen, was mit Sicherheit einfacher ist, als die Kommunikation mit Garmin abzuhören.
Code:
	<Model>
		<PartNumber>006-B0795-00</PartNumber>
		<SoftwareVersion>420</SoftwareVersion>
		<Description>Oregon 300</Description>
	</Model>
 
OP
rzbrk

rzbrk

Geocacher
@Kalli: das mit dem eigentlichen Update ohne WebUpdater ist mir schon klar. Nur bislang fand ich das Procedere, an die Update-Datei heranzukommen, viel zu aufwendig. Klasse finde ich allerdings den Tipp mit der GarminDevice.xml, um an die Part Numbers zu kommen.

@8812: Die Seite http://gpsinformation.net/allory/new.htm ist schon echt toll! Offenbar klöppelt der Autor die Seite händisch zusammen. Mir fehlen allerdings wieder die Links zu den GCD-Dateien.
 
OP
rzbrk

rzbrk

Geocacher
@alle: Wer mir einen Gefallen tun möchte und ein GARMIN Device hat, schaut ebenfalls mal in die Datei Garmin/GarminDevice.xml und postet das, was zwischen <PartNumber></PartNumber> sowie zwischen <Description></Description> steht.

Folgende Liste habe ich jetzt schon:
Dakota 20, 006-B0960-00
Oregon 300, 006-B0795-00
Forerunner 50, 006-A0119-00 (?)
Forerunner 60, 006-B0988-00 (?)
Edge 305, 006-B0484-00 (?)
Forerunner 405, 006-B0884-00 (?)
Forerunner 405, 006-B0717-00 (?)
Forerunner 405, 006-B0885-00 (?)
Edge 605, 006-B0625-00 (?)
Edge 705, 006-B0625-00 (?)

Bei denen mit (?) müßte man die Werte noch mal bestätigt wissen. Interessanterweise scheint das FR405 mehrere PartNumbers zu haben. Es fehlen noch die unter Geocachern typischen Geräte.
 

TweetyHH

Geomaster
Ich fände das ganze schon recht nützlich, für mich wäre aber statt twitter ein rss feed, evtl. pro gerät, die sinnvollere alternative
 
OP
rzbrk

rzbrk

Geocacher
TweetyHH schrieb:
Ich fände das ganze schon recht nützlich, für mich wäre aber statt twitter ein rss feed, evtl. pro gerät, die sinnvollere alternative

Grundsätzlich kein Problem, daran habe ich auch schon gedacht.

Kritischer Punkt ist und bleibt aber die Liste der PartNumbers, ohne die der Service keinen Sinn macht. Hab schon überlegt, mal bei GARMIN anzufragen. Aber da bin ich nicht ganz zuversichtlich, zumal mein Engineering der Kommunikations-Interna möglicherweise nicht ganz kompatibel mit den GARMIN Lizenzbedingungen ist ... Da will ich keine schlafenden Hunde wecken.
 

Lindencacher

Geomaster
Hi,

rzbrk schrieb:
@alle: Wer mir einen Gefallen tun möchte und ein GARMIN Device hat, schaut ebenfalls mal in die Datei Garmin/GarminDevice.xml und postet das, was zwischen <PartNumber></PartNumber> sowie zwischen <Description></Description> steht.

006-B0896-00 Oregon 450
 

8812

Geoguru
<Model><PartNumber>006-B1275-00</PartNumber><SoftwareVersion>460</SoftwareVersion><Description>Montana 600</Description></Model>
 

jennergruhle

Geoguru
Lindencacher schrieb:
rzbrk schrieb:
@alle: Wer mir einen Gefallen tun möchte und ein GARMIN Device hat, schaut ebenfalls mal in die Datei Garmin/GarminDevice.xml und postet das, was zwischen <PartNumber></PartNumber> sowie zwischen <Description></Description> steht.
006-B0896-00 Oregon 450
Hatte mich auch schon sehr gewundert, dass der nicht aufgelistet wird. Ich kann diese Nummer bestätigen, auch für Oregon 450t (der ja nur zusätzliches Kartenmaterial hat):
Code:
<Model>
      <PartNumber>006-B0896-00</PartNumber>
      <SoftwareVersion>550</SoftwareVersion>
      <Description>Oregon 450t</Description>
</Model>

Mir gefällt die Idee auch gut (nutze ebenfalls Linux), und dem Twitter-Account GPSr_Updates folge ich nun auch.
 

jennergruhle

Geoguru
Achso, hier der Vollständigkeit halber dann die Gesamtliste alphabetisch sortiert:
Dakota 20, 006-B0960-00
Edge 305, 006-B0484-00 (?)
Edge 605, 006-B0625-00 (?)
Edge 705, 006-B0625-00 (?)
Forerunner 405, 006-B0717-00 (?)
Forerunner 405, 006-B0884-00 (?)
Forerunner 405, 006-B0885-00 (?)
Forerunner 50, 006-A0119-00 (?)
Forerunner 60, 006-B0988-00 (?)
Montana 600, 006-B1275-00
Oregon 300, 006-B0795-00
Oregon 450, 006-B0896-00
Oregon 450t, 006-B0896-00
 

TweetyHH

Geomaster
Also das 550er kann ich dir nächste Woche oder so nennen, dann hab ich es wieder. Ansonsten kann man sich auf Events einfach mal rumfragen - Webbook oder Laptop mit und man hat nach 2 oder 3 Events wohl alle Zahlen zusammen.
 
OP
rzbrk

rzbrk

Geocacher
Danke vielmals für die bisherigen Rückläufe zu den PartNumbers sowie den anderen Anregungen.

So, das Skript hängt jetzt im cron und schaut einmal täglich nach Updates. Der Service ist also scharf geschaltet. Neue Devices kann ich jederzeit nachtragen.

Das nächste Event ist ausch schon vorgemerkt, um an die PartNumbers weiterer Geräte zu kommen.

Wer kein Twitter-Account hat, kann dem Account @GPSr_Updates aber auch schon jetzt per RSS folgen:
https://api.twitter.com/1/statuses/user_timeline.rss?screen_name=GPSr_Updates
 
OP
rzbrk

rzbrk

Geocacher
Für alle die, die Anregungen suchen oder mitcoden wollen:
https://github.com/rzbrk/gpsr-update

Bin aber bislang noch nicht so der github-Held ...
 
OP
rzbrk

rzbrk

Geocacher
Nur falls es einen anderen Eindruck erweckt: Der Dienst läuft seit Anfang Januar. Die Update Notifications erhaltet Ihr auf dem Twitter-Account :
http://www.twitter.com/gpsr_updates

Leider fehlen mir immer noch viele PartNumbers! Hier würde ich mich weiterhin über Mithilfe freuen (siehe Thread oben)!

Mir ist aufgefallen, daß die PartNumbers offenbar alle das gleiche Schema "006-Bnnnn-00" haben. Anstelle von "nnnn" muß man eine vierstellige Nummer eingeben. Ich habe jetzt zusätzlich ein Perl-Skript gebaut, daß alle möglichen PartNumbers beim GARMIN-Server ausprobiert. Um den Server nicht mit Anfragen lahmzulegen, habe ich allerdings eine "Bremse" eingebaut. Das wird jetzt ein paar Tage dauern, aber vielleicht komme ich ja so an weitere PartNumbers.

Gruß, rzbrk
 
Oben