Gibt auch X verschiedene Multimediasysteme im Corolla..
Ich meine die meisten in unseren sind von Panasonic, da gibts in der EU zwei Hardwareversionen, bei einer ging erst das WLAN nicht, gibt auch getrennte Updates für die eine und die andere Version, allerdings sind die Updates fast gleich groß.
Hardware
Kommt von verschiedenen Zulieferern und in verschiedenen Versionen, je nach Region auch andere Zulieferer.
17TMT2EU-FA00 - Multimedia Einheit EU Harman?!
17TMT2EU-FA10 - Multimedia Einheit EU Harman?!
17TDT1EU-DA01 - Audioeinheit Panasonic EU
17TDT1EU-DA02 - Audioeinheit Panasonic EU
17TDT0NA-EA22 - Audio Einheit Nordamerika (Entune)
Vermutetes Encoding
17: Modelljahr der Entwicklung
TxT: x kann D oder M sein, D = Audioeinheit M = Navieinheit
Zahl: Eine Revision der Funktionen?!
EU/NA = Region für die die Einheit gedacht ist
-
C/D/E/F = Hersteller der Einheit, C = Denso Ten D = Panasonic
A: Unbekannt
00: Revision der Hardware
Software
Was ich bisher rausgefunden habe ist, dass die meisten Sachen auf dem Infotainmentsystem WebApps sind, sprich da läuft ein Browser drauf und in dem laufen Web Apps, ich habe den Source Code einiger dieser Apps, auch Entwicklungsapps zum testen, bisher aber keine Möglichkeit sie zu installieren.. Die Apps sind signiert, sprich man kann nicht einfach was dran ändern.. ist im Endeffekt ein Container mit einer signaturfile und einer .zip in der der Inhalt der App liegt. Die "Einstellungen" sind auch eine "WebApp"
Die Apps reden über eine JS Schnitstelle mit vermutlich Javakomponenten die auf dem Infotainmentsystem laufen, jedenfalls heißen die z.B.
com.harman.voice.applicationmanager.ISession oder
com.luxoft.internetapplications.Hmi
Diese Apps sind vermutlich von Luxoft entwickelt:
www.luxoft.com/ jedenfalls heißen viele der Klassen und Namespaces so.
Ich habe Testkoordinaten in der Navi App gefunden, die zeigen auf einen Toyotastandort in Brüssel:
www.google.com/maps/place/50%C2%B052...4329479,17.38z/data=!4m5!3m4!1s0x0:0x0!8m2!3d50.87873!4d4.4351331
Ein anderer Test POI der im source der Navi App steht ist eine Schwimmhalle in Berlin:
www.berlinerbaeder.de/baeder/schwimmhalle-fischerinsel/
Luxoft hat ein Office ca. 1,5km weg von der Schwimmhalle in Berlin, lustige Randnotiz: Luxoft entwickelt auch für Daimler
die Web Apps haben auch direkten durchgriff auf den CAN, jedenfalls sind da einige Funktionen durchgereicht die z.B.
CANVehicleData_CANVehicleDataInstance.getOdometer("").then(function(data) { .... }
Und aufs Dateisystem
FileUtils_FileUtilsInstance.writeFileToUSB("34e7eb37-dafe-490c-a259-fcb22af78990", "/mnt/apps/config.txt") Ob das wohl irgend einen Testmode aktiviert? Wird in einem Test am Anfang gemacht.. einfach eine config.txt auf dem USB-Stick die den Text "34e7eb37-dafe-490c-a259-fcb22af78990" enthält..
Was auf dem System selber läuft ist ne gute Frage, ich fände es cool wenn es AGL (Automotive Grade Linux) wäre, aber bin mir nicht sicher, könnte auch QNX (
en.wikipedia.org/wiki/QNX ) sein..
Jedenfalls gibt es eine Toyota spezifische Midleware die praktisch die Funktionen des Autos (Knöpfe, CAN lesen u.s.w.) den Web Apps abstrahiert bereitstellt. Das Betriebsystem und diese Middleware wird der Hersteller der entsprechenden DCU an die Hardware anpassen müssen (Treiber + Kommunikation Middleware <-> Treiber).. Sprich wenn ein neues Feature released werden soll, wie Android Auto, müssen die Hersteller der Hardware + das Softwareteam der "WebApps" + evtl. das Team das MyToyota und die App macht (wieder Andere) aktiv werden. Da sie verschiedene Hardware in verschiedenen Regionen haben, ist das ein riesen Aufwand, da einfach 4-5 Firmen koordiniert werden müssen bis das funktioniert und getestet ist. Da sie das eben scheinbar nicht In-House machen sondern alle outsourced haben und noch dazu scheinbar je Region an Jemand Anderen..
Könnte mir vorstellen, dass "Entune" zwar die selben Schnittstellen nach unten benutzt, aber halt von irgend einer Firma in den USA oder Kanada entwickelt wird. Referenzen auf den Treiber für den Satellitenradio Receiver der für SiriusXM verwendet wird (USA), habe ich z.B. auch in der EU DCU gefunden..
Ganz ehrlich, das muss alles unglaublich teuer sein und eine Nighmare da irgendwas umzusetzen.. Ich glaube ehrlichgesagt der richtige Weg um sowas gut hinzubekommen wird sein die Kompetenz in der eignen Firma aufzubauen und so Entwicklungen In-House zu machen, so wie das z.B. VAG gerade probiert mit VW-OS oder so wie es Tesla schon von Anfang an macht.
Wenn man sich das Setup so anschaut, wird auch klar, warum so Sachen wie "WiFi-Strom" da sind und warum das bei manchen HW-Generationen geht und bei anderen nicht u.s.w. Da benutzt halt die Settings-App die API von der Middleware, in der TestApp hat es auf allen Hardware Platformen funktioniert, aber irgendwie benutzt die Settings-App das minimal anders.. Da es nicht aus einer Hand ist hätte es vermutlich mehre Wochen gedauert das zu reparieren vor dem Release und dann hat man es einfach gelassen, da man es als nicht kritisch eingestuft hat, da ja bisher eh keine Funktionalität übers WiFi gegeben ist in der EU.