MMI 3G größere Festplatte einbauen

Audi A6 C6/4F

Bevor das Thema "MMI 3G nachrüsten" zu unübersichtlich wird, mache ich lieber mal ein neues Thema auf ...

So, ich habe gestern mal auf verschiedenen Wegen versucht die Jukebox größer zu machen.
Zuerst habe ich den kompletten Dump von meiner originalen Festplatte auf die 320er gespielt. (byteweise unter Linux mit dd)
Die 320er Festplatte hat dann einwandfrei im 3G funktioniert.

Leider ist die 10GB Partition, in der ich auch die importierten Files (hexedit) gefunden habe, die 2. Partition und es folgen noch die 3., extended, 5. und 6. Partition.
Hier mal ein fdisk-Dump von der originalen Platte / der originalen Partitionstabelle:

Disk /dev/sdc: 40 GB, 40007761920 bytes
255 heads, 63 sectors/track, 4864 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sdc1 * 1 3003 24121566 4d QNX4.x
/dev/sdc2 3004 4380 11052720 4e QNX4.x 2nd part
/dev/sdc3 4381 4486 843412 4f QNX4.x 3rd part
/dev/sdc4 4487 4864 3028252 5 Extended
/dev/sdc5 4487 4813 2618595 bb Boot Wizard Hid
Warning: Partition 5 does not end on cylinder boundary.
/dev/sdc6 4814 4820 48195 bb Boot Wizard Hid
Warning: Partition 6 does not end on cylinder boundary.
/dev/sdc7 4821 4864 345397 bb Boot Wizard Hid
Warning: Partition 7 does not end on cylinder boundary.

Da man die 2. Partition (in diesem Fall /dev/sdc2) nicht vergrössern kann, da direkt im Anschluss weitere Partitionen folgen, habe ich 2-7 gelöscht, die 2. größer gemacht (z.B. 256GB) und dann die übrigen dahinter so angelegt, wie sie von der Größe her waren.
Die originalen Partitionen habe ich vorher einzeln mit dd gedumpt und dann auf die jeweiligen Partitionen zurückgespielt.

Das 3G bootet einwandfrei, leider ist die Jukebox in der Quellenauswahl ausgegraut 🙁

Ok, nächster Versuch war mit "diinit -h /dev/sdc2" ein neues, leeres QNX4-Filesystem auf /dev/sdc2 zu erzeugen.
Mounten konnte ich dieses frische Filesystem einwandfrei mit dem Linux QNX4 (readonly) Treiber - ganz im Gegensatz zu der originalen 2. Partition. Diese hat sich bisher hartnäckig gegen ein Mounten gewehrt.

Leider kein anderes Bild am 3G 🙁 Eine kleinere (nur 20GB) 2. Partition habe ich in beiden Konstellationen auch ausprobiert. (hätte ja sein können, dass 256GB einfach zu viel für das arme, kleine 3G ist 😉
Hat aber leider auch keinen Unterschied gemacht.

Spasseshalber habe ich auch mal ein EXT2 Filesystem drauf gepackt. QNX kann eigentlich auch mit einem Linux EXT2 FS umgehen. Leider auch kein Erfolg.

Im Moment bin ich der Meinung, dass das originale QNX4 Filesystem abgewandelt wurde und wahrscheinlich auch noch eine bestimmte Datei im Filesystem dem 3G sagt, dass es eine gültige, funktionierende Jukebox-Partition/Filesystem zur Verfügung hat.
Ich befürchte daher, dass man sich wirklich die Mühe machen muss das Filesystem genauer zu verstehen, um die nötigen Anpassungen vorzunehmen.
Insbesondere müssten man mal schauen, ob bestimmte Verzeichniss-/File-Einträge für die Jukebox nötig sind.

So viel erst einmal dazu ... vielleicht findet sich hier ja noch jemand, der irgendetwas rausfindet ...

Kai

Beste Antwort im Thema

Achso ... Feedback ist natürlich auch durchaus erwünscht! (positives wie negatives)
Also bitte nach dem Test bitte einmal kurz ein paar Zeilen schreiben, das wäre wirklich super 🙂

176 weitere Antworten
176 Antworten

Zitat:

Original geschrieben von 4F-Devil


Es hat auch beim 3G funktioniert.
Ich habe noch eine uralte Unit C1_Stand hier liegen, welche Videos/Movies konnte.
Diese Unit hat noch den alten Stand mit 8000RAM - die neuen haben 16000. Trotz dieser Einschränkung kann diese Unit alles:
Navigieren, Radio hören oder Video schauen ohne Probleme.
Alle Tasten sind bedienbar, die Komprimierung ist mpg - kann es daran liegen?
Ich habe mal im Anhang die Pics angehangen, den Film musste ich verlinken.
Da sieht man sehr schön, dass es funktioniert hat.
Ach ja, ich habe die Filme nicht hoch geladen, die waren schon drauf!!!Was sich die Audi-Leut so auf der Testfahrt anschauen....
So, das Video findet man hier!(PW:meine)

Hallo,

mich interessiert dein Tacho.. welcher ist der ?? Aus welchem Auto? wollte so einen auch unbedingt haben... ist der im A6 eingebaut?

Gruß

So. Ich habe fertig 😎
Der ReadOnly QNX6FS Linux Treiber (mit spezieller 3G FS Unterstützung) ist fertig.

Es gibt eine Mount-Option, welche man als Kernel Konfigurationsoption aktivieren kann und die "mmi_fs" heisst.
Gibt man diese Option beim mounten mit, lassen sich 3G Filesysteme mounten.

Ansonsten habe ich gerade die Endianess-Erkennung und -funktion fertig bekommen. Das war schon ein größerer Akt.
Man kann unter QNX bei der FS-Erstellung wählen, ob man ein big- oder little endian Filesystem erzeugen möchte.
Die 3G Filesysteme sind alle big endian. Aus diesem Grund habe ich in den Part jetzt auch noch keine Endian-Erkennung eingebaut.
Findet der Treiber ein little endian QNX6 Filesystem, so stellt er sich automatisch darauf ein und kann ganz normal darauf arbeiten.

Verschiedene Blockgrößen funktionieren auch. (jedenfalls habe ich 1k und 2k Blockgrößen getestet)

Lange Filenamen mit Checksummenprüfung. Beim MMI-FS gibt es diese Checksumme aber nicht, also wird sie dort auch nicht überprüft.
Checksummenüberprüfung der Superblöcke ist auch integriert.

Alle Fileattribute, Permissions, GID/UIDs, Timestamps, setuid, hardlinks, softlinks etc. funktionieren.
Verzeichnisse Unterverzeichnisse etc. natürlich auch 😉
Freie und belegte Inodes (df -i), freie und belegte Blöcke (df), Fileblöcke (du -sk) etc. funktionieren.

Richtig spassig ist es auch Musik von einer 3G Festplatte zu hören. (soll heissen, dass Filereads natürlich auch klappen)
Wahrscheinlich finde ich das aber auch nur so klasse, weil ich weiss durch welchen Code das ganze in dem Moment gerade fließt 😁

Ich muss mal schauen, dass ich einen patch (gegen aktuell Linux Kernel 3.2.0) fertig mache, dann darf es gerne angetestet werden.
Mal sehen wieviel Haue ich - insbesondere für die Endian-Umschaltung - von den Kernel Entwicklern bekommen. Mag sein, dass ich an der einen oder anderen Stelle noch ein bisschen Hand anlegen muss.
Mal sehen, vielleicht gibt es dann heute einen Patch ...

Naaa?
3.2.0er Kernel-Sources schon runtergeladen?
.config schon soweit angepasst?
😁

Hier ist der versprochene Link zum Patch.
Der Patch sollte sich auch auf die aktuelleren 3.2.1 und 3.2.2 anwenden lassen.

Achso ... Feedback ist natürlich auch durchaus erwünscht! (positives wie negatives)
Also bitte nach dem Test bitte einmal kurz ein paar Zeilen schreiben, das wäre wirklich super 🙂

Ähnliche Themen

ich hab null Plan und kann daher nur was zu deinem Engagment schreiben: SUPER!!!!!
Hab schon nen wunden Daumen vom "Danke-Button" drücken!

Kein Problem - nur schade, dass du den Treiber dann nicht auch ausprobierst 😉

Der Patch lässt sich auch mit dem 3.2.2er Kernel verwenden. (hätte mich auch gewundert, wenn sich da was wirklich dafür elementares geändert hätte)
Mail an linux-fsdevel Mailingliste ist gerade raus. Mal schauen, wie dort die allgemeine Stimmungslage ist.

naja wenn ich mal ne größere Jukebox (1GB) brauch komm ich bitte auf dich zurück. Sollte dann halt auch die Ordnerstruktur können und nicht nur Playlist/Artist/Alben...

Bis zu der Ordnerstruktur ist es noch ein weiter, weiter, [,weiter]+ Weg 🙁
Die nächsten Schritte sind erst einmal QNX6FS read/write, EFS readonly, EFS read/write, IFS readonly, IFS read/write, parallel ein paar Dinge und dann ... ja, dann ... 😉

Wobei EFS einfacher als QNX6 wird ...

Zitat:

Original geschrieben von kbankett


Bis zu der Ordnerstruktur ist es noch ein weiter, weiter, [,weiter]+ Weg 🙁

Die vermisse ich gar nicht - wofür tagge ich denn die MP3s denn?

Viel mehr vermisse ich ein Scrollen oder umschalten von langen Titeln im MMI Navi Display ... was eigentlich ein gängiges Verfahren ist, bekommt Audi bzw. Harmann/Becker nicht hin. Ich darf dann raten, was "Harry Potter unter der Stein der Wei..." bedeutet: "Harry Potter unter der Stein der Weisen CD03 von 16" oder doch CD 04 ... oder 07 ?

Sag mal ... hab den Thread zwar etwas verfolgt, aber nicht alles in Erinnerung: bastelst du nur (nicht abwertend gemeint) an der HD und dem FS rum ... oder patchst / erweiterst du auch die MMI Software? Leider ist das ganze Ding (MMI UI) ja kein OSS .... stelle ich mir deshalb schwierig vor - es sei denn man geht regelmäßig mit Debugger und Disassembler zu Bett ;-)

6502

Abend,

habe dieses Thema mal grob durchgelesen.

@kbankett wirklich unglaublich wie du das abarbeitest.

Natürlich sind mir da einige Fragen aufgekommen: Beginn war November 2010 nun haben wir das Jahr 2012.

Gibt es niemanden den man hätte kontaktieren können der "mehr" weiß oder der an sowas arbeitet/gearbeitet hat oder der das ganze schneller lösen könnte? Oder wäre mittlerweile nicht durch eine gröbere System oder Hardwareänderung schneller das Ziel erreicht? (Kosten natürlich nicht berücksichtigt...)

Ich verfüge dafür, dass ich nicht in der IT-Branche bin durchaus über gute Computer und Hardwarekenntnisse aber solch eine Programmierung ist da schon auch für mich eine andere Welt. Entschuldige bitte meine Unwissenheit.

Grüße KT

Zitat:

Original geschrieben von Kurt T.


Natürlich sind mir da einige Fragen aufgekommen: Beginn war November 2010 nun haben wir das Jahr 2012.

Ja ... ich werde alt 😉

Nee, mal Scherz beiseite. Ich habe ja nicht die ganze Zeit nur daran gearbeitet.
Klar, erstmal hier gepostet. Da habe ich mir ja erst einmal angefangen Gedanken darüber zu machen, bzw. wollte vortasten, ob sich ja vielleicht noch andere mit dem Thema beschäftigen/beschäftigt haben. Dann mal ein paar Tage Anfang/Mitte 2011, als ich mir den ersten Dump im hexedit angesehen habe.
So richtig Gas geben konnte ich aber erst, als ich die Checksummenberechnung vom Superblock hatte.
Das war irgendwann Mitte November 2011. (wenn ich es recht in Erinnerung habe)
Passend zu Weihnachten (23.12. 23:55 den letzten Fehler gefunden) hatte ich dann den Konverter fertig.

Dann die Checksummenberechnung der Update-CDs, die RLE Kompression der 2G Bilder, die Anpassung der Jukebox-Parameter im System ...

Mit dem Linux-Treiber habe ich am 15.01.12 angefangen. Also, ich persönlich finde 2 Wochen für den Treiber, wie er derzeit existiert schon sportlich 😉

Zitat:

Gibt es niemanden den man hätte kontaktieren können der "mehr" weiß oder der an sowas arbeitet/gearbeitet hat oder der das ganze schneller lösen könnte? Oder wäre mittlerweile nicht durch eine gröbere System oder Hardwareänderung schneller das Ziel erreicht? (Kosten natürlich nicht berücksichtigt...)

Wen hätte man denn bitteschön kontaktieren sollen? Wenn du nach QNX6 Superblock Checksum suchst, dann findest du Beiträge von mir in einem QNX Entwirklerforum.

Dort war man sogar erst der Meinung, dass der Superblock keine Checksumme hätte ... *lol*

Klar, die Frage hat mir meine Frau auch schon gestellt. (texte sie immer genug zu mit diesen Themen, von denen sie auch überhaupt keine Ahnung hat)
Mir würde aber ehrlich gesagt nur der/die Entwickler einfallen, der/die den Treiber für das QNX6 Filesystem damals geschrieben hat/haben.
Ok, sicherlich haben noch mehr Leute zugriff auf den QNX Quellcode. Einsicht in diesen erhält man aber mit absoluter Sicherheit nur nach Unterzeichnung eines NDAs.
Darauf hätte ich keine Lust, würde auch bestimmt nicht x-tausend Euro irgendwo als Lizenzkosten einwerfen und auch niemanden zur Verletzung seines NDAs überreden wollen.

Nene, da ist es mir so lieber. Schön reverse engineered, die IPR (intellectual property rights) liegen bei mir und ich kann mit dem Wissen machen was ich möchte.
Ausserdem lernt man auf dem Weg ja auch immer viel 🙂
Ganz nach dem Motto "der Weg ist das Ziel".

Was du mit System-/Hardwareumstellung meinst, ist mir nicht klar. Was soll man an den Gegebenheiten denn umstellen?

@6502:
(netter Nick 😉)
Bisher bin ich an den Filesystemen. (genauer gesagt, ich kann bisher nur das HDD Filesystem rauf und runterbeten)
Vom EFS habe ich schon einzelne Bruchstücke. Das EFS ist aber deutlich (das kann ich nicht genug betonen) einfacher gestrickt als das HDD FS.
Erst einmal möchte ich aber das ganze HDD FS Wissen aus meinem Kopf in Quellcode gegossen bekommen ... daher mein derzeitiger Fokus auf das HDD Filesystem. Spannender fände ich auch neue Dinge ...
Binaries sind nochmal ein ganz anderes Thema. Mal sehen ... erst einmal vollen Zugriff auf alle Informationen, dann kann man sich an das Thema machen.

Aber, ehrlich gesagt, wenn man mich fragt, dann würde ich weniger an der MMI Applikation rumschrauben - jedenfalls nicht am eigentlichen Binary, sondern dann gleich den richtigen Schritt machen und eine eigene Applikation schreiben oder - was in meinen Augen noch deutlich spannender wäre - ein Android (Linux) auf die Unit portieren 😁
Portiert werden braucht da noch nicht einmal viel. Der Linux Kernel ist für die verwendeten CPUs sowieso schon portiert. Man bräuchte eigentlich nur einen passenden Bootloader (den man dann HW-technisch auf die Unit bratzen müsste) und eine Hand voll Systemtreiber - fertig.
Wo der dafür benötigte Manpower hekommen soll, ist aber noch völlig ungeklärt. Alleine, nur in meiner Freizeit, werde ich damit wohl erst ca. 2015 fertig sein.
Mal schauen, ob mein Dicker so lange noch durchhält *gg*

Man wird sehen wo die Reise hingeht. So lange es mir Spaß macht, ist doch alles in Butter - oder? 😉

Zitat:

Original geschrieben von kbankett


Die 4000 Titelgrenze ist Geschichte - jedenfalls auf der HDD Unit.
Warum schreibe ich "jedenfalls auf der HDD Unit"?
Tja, irgendwo muss die Mediendatenbank ja liegen. Jeder Titel, über den Informationen (MP3 Tags) ausgelesen wurde, wird in die Mediendatenbank gelegt. (die Informationenen über diesen Titel)
Default ist die Datenbank auf 16000kb Größe beschränkt.
Beim 3G HDD liegt die Datenbank auf der Festplatte. Da ist genug Platz.
Um eine größere Jukebox Partition ausnutzen zu können habe ich die maximale Datenbankgröße auf 512000kb angehoben.
Man müsste also ausprobieren, was passiert, wenn man nun mehr als 4000 Titel auf einer nicht-HDD Unit erlaubt.
Die Datenbank wird man dort nicht deutlich vergrößern können, da irgendwann der Speicher ausgehen wird.

Also, wenn du einen Versuch wagen möchtest, dann lade ich dich gerne nach Neuss ein. Dann können wir es gemeinsam ausprobieren.
(es darf sich gerne auch ein anderes Testkaninchen melden)

Selber habe ich leider weder ein AMI Kabel an meinem 3G angeschlossen, noch eine nicht-HDD Unit zum testen.
Das mit dem AMI Kabel muss ich irgendwann mal noch nachholen ... AMI beim 3G nachzurüsten ist ja einfach.
Eigentlich bräuchte ich nur ein USB Kabel zu rupfen und ein paar Pins, die ich bestimmt noch rumfliegen habe ... hmm ... die Tage mal angehen 😉

Hallo und Grüß Gott aus dem Süden,

Was mich an meinem neuen Fahrzeug mit 3G am meisten nervt (und das ist auch fast das Einzige), ist die Beschränkung der externen Festplatte am AMI auf die berühmten 4000 Titel. Ich hatte am Vorgänger (2G) eine 1T-WD-Platte und damit meine ganze Musiksammlung immer parat (man hat ja nicht immer die gleiche Stimmung und den gleichen Geschmack ... außerdem gibt es ja noch Mitfahrer und -rinnen).

Ich habe deshalb beim Stöbern mit größtem Interesse obiges Zitat gelesen, vor Allem: "4000 Titel ist Geschichte".

Ich wäre sehr daran interessiert, einen Versuch zu starten, ob das für die externe Platte auch geht. Im Zweifelsfall würde ich für die Datenbank den kompletten Platz der Jukebox opfern (Platz für 100.000 Titel wäre schon angebracht).

Ich bin am Montag nächster Woche in der Nähe von Düsseldorf - vielleicht könnte man da einen Versuch starten?

Gruß Günter

Montag würde mir hervorragend passen, da ich Montag und Dienstag frei habe.
Ich schicke dir gleich mal eine PN ...

Nebenbei, ich bin mir der Analyse des EFS Filesystems fertig und habe jetzt damit angefangen einen Linux-Treiber zu schreiben 🙂
Ein paarmal werden wir noch wach ... dann ist EFS readonly Tag ...

Also, nachdem ich gerade die erste Bekanntschaft mit der EmergApp gemacht habe, kann ich wirklich nur jedem, der an Metainfo-Files / CRCs von 3G Updates schraubt, dringendst empfehlen 4F-Devil oder mich in so einem Fall zu kontaktieren. (mir ist sonst einfach noch niemand bekannt, der auf diesem Level nähere Bekanntschaft mit seinem 3G gemacht hat)
Wenn man dann wild rumprobiert und nachher nicht mehr weiß, was man genau im einzelnen gemacht hat, hat manam Ende meiner Meinung nach überhaupt keine Chance mehr das System wiederzubeleben.
Auf jeden Fall hat es mich gerade ein paar Nerven und ca. 2 Stunden gekostet ...

Also, bitte, bitte, direkt/umgehend Kontakt aufnehmen, bevor eure Unit am Ende (Stand heute) gebrickt ist!

Edit: Um zum eigentlichen Thema zurück zu kommen ... der qnx6fs Treiber ist gestern in den linux-next Kernel gegangen. Er sollte dann hoffentlich bald von Linus in den offiziellen Linux-stable übernommen werden.
*uff*
Das war noch eine ganze Menge Arbeit ... wer aber schon heute damit rumspielen möchte, der sollte sich einfach einen aktuellen linux-next .git tree ziehen und compilieren.
Auf jeden Fall ist der Treiber sehr, sehr "elegant" geworden. (wenn auch immer noch nur r/o ... an r/w arbeite ich weiter nach der EFS Orgie - viele qnx6fs r/w Teile habe ich aber bereits fertig in der Schublade liegen, diese müssen nur noch ein wenig überarbeitet werden)

Danach kommt der Bootloader dran ... direktes flashen etc. wird auf dem Weg einfach mitgenommen 😉

Mal wieder ein kleines Appetithäppchen 😉
*uff* Die Adressierung im EFS ist wirklich anstrengend ...

Deine Antwort
Ähnliche Themen