Software:Progman

Aus BMW Wiki
Zur Navigation springen Zur Suche springen

Progman heißt die alte Software, mit der sämtliche Steuergeräte im Fahrzeug mit Softwareupdates versorgt wurden. Die neue Variante heißt ISTA. Beide haben einen Versionsstand, der jeweils aktuell auf das Fahrzeug gespielt wird, wenn irgendeine Einheit ein Update benötigt. Dabei werden in aller Regel nur Updates, keine Downgrades gemacht (das erfordert eine Sonderfreigabe vom Werk und wird höchstens in PUMA-Fällen getan).

Die neuen BMWs mit dem CAN-Bus haben leider das Problem, dass dieser zwar ein Kommunikationsprotokoll definiert, aber nicht auf Applikationsebene. Wenn sich also zwei Geräte miteinander unterhalten wollen, müssen sie das auf OSI-Schicht 7 über ein nicht genormtes Format tun. Ändert sich jetzt der Softwarestand auf einem beteiligten Gerät (z.B. aufgrund eines Austauschs wegen eines Defekts), müssen alle Geräte, die mit diesem kommunizieren, einen Softwarestand aufweisen, der damit kompatibel ist.

Ein gutes (hypothetisches) Beispiel wäre ein neues Navi, wo vielleicht in der Serienfertigung ein neuer IC eingesetzt wird, weil der alte nicht mehr gefertigt wird. Dazu braucht es eine neue Software, die aber bei der Übermittlung für das TMC anders arbeitet. Deshalb brauchen dann eventuell die TMC-Box und das Radio, die solche Daten liefern, auch ein Update.

Theoretisch könnte man testen, welche Versionen welcher Steuergeräte miteinander kompatibel sind. Da das aber zu aufwendig wäre, wird nur jeweils ein in sich konsistenter Stand als Datenstand oder Integrations-Level getestet. Somit müssen alle Geräte auf den jeweiligen Softwarestand des I-Levels gebracht werden, wenn für ein einzelnes Gerät ein Update notwendig wird.

Früher führte das regelmäßig dazu, dass sämtliche Geräte auf den neuesten Softwarestand gebracht wurden, was einige Stunden bis zu Tagen dauerte. Seit einiger Zeit verwendet BMW dazu einen Mechanismus, der die Abhängigkeiten auflöst. Die Abhängigkeiten bilden eine Art gerichteten Graphen, der dann mit den minimal notwendigen Änderungen konsistent gemacht wird, ähnlich einem Unix "make". Das spart Zeit, weil so i.d.R. weniger Steuergeräte ein Update benötigen. Nach dem Update haben alle Steuergeräte einen konsistenten Stand (BMW nennt das "Datenstand" oder "target data status"). Da die Abhängigkeiten nur vorwärts, nicht aber rückwärts definiert sind, ist ein Downgrade kompliziert und risikoreich - deshalb wird er normalerweise nicht gemacht. Mit speziellen Softwaretools (z.B. WinKFP) können Codierer ggf. Rückrüstungen vornehmen.

Man sollte dabei bedenken, dass nicht alle Updates immer nur Verbesserungen bringen (Gegenbeispiel 1, Gegenbeispiel 2) und außerdem viele Reparaturen ein Zwangs-Update mit sich bringen, die dann auch nicht reparierte Einheiten in Mitleidenschaft ziehen können. Darunter sind einige, bei denen man das nicht vermuten würde, und die irgendwann sicher kommen, z.B. der Tausch der Lenksäule.

Aktuell ist gerade ISTA/P 2.46.3. Diese ISTA- (früher Progman-) Versionen beinhalten für die verschiedenen Modellreihen entsprechende Datenstände. Die ISTA-Hauptversionen kommen auf DVD auf die Diagnosestationen (spezielle PCs), die kleineren Unterversionen per Online-Update. Nicht jede ISTA-Version bedeutet auch für jede Baureihe eine Veränderung:

Ein Liste mit den verschiedenen Versionen ist z.B. hier. Dort kann man z.B. sehen, dass für den E9x die Versionen 2.33.1 bis 2.33.3 identisch waren, sie hatten alle den Datenstand E89X-09-03-520.

Man kann selbst auf keine Art herausbekommen, welche Version auf dem Fahrzeug ist, außer, man hängt das Auto an eine Diagnosestation (es gibt mittlerweile von Bavtech in den USA auch Diagnosegeräte für Privatleute zu kaufen).


Sysadm 13:19, 22. Juni 2012