[gelöst] Kein Plan: Mali Modul unverwendbar!

Welches Modul/Treiber für welche Hardware, Kernel compilieren...
Antworten
Joe58

[gelöst] Kein Plan: Mali Modul unverwendbar!

Beitrag von Joe58 » 16.07.2018 18:37:57

Hallo alle zusammen,


ich bin schon seit 1 Jahr? mittlerweile zugange einen custom Kernel für ein Tablet aus China zu kompilieren, aber das Modul für den embedded Grafikchip Mali 400 MP ist nicht funktionsfähig.

Das für die Mali GPU benötigte ump Modul funktioniert zweifelsfrei mit dem bereits gelieferten Mali Modul zusammen.

Sobald ich mein eigenes Modul nehme wird immer nur ein schwarzer Bildschirm angezeigt und keine Android GUI!

Während der Übersetzung des Mali Moduls treten folgende Ausgaben zu Tage:

Code: Alles auswählen

WARNING: "ump_dd_reference_release" [drivers/amlogic/mali//mali.ko] undefined!
WARNING: "ump_dd_phys_block_count_get" [drivers/amlogic/mali//mali.ko] undefined!
WARNING: "ump_dd_phys_blocks_get" [drivers/amlogic/mali//mali.ko] undefined!
WARNING: "ump_dd_handle_create_from_secure_id" [drivers/amlogic/mali//mali.ko] undefined!
Mir geht das so dermaßen auf den Keks, dass ich nur wegen dem Mali Modul kein GPL konformen Kernel erhalte.

Langsam frage ich mich, ob ich verflucht bin, in bezug auf Elektronik Geräten. :hail:

Danke für jede Antwort.

Johannes
Zuletzt geändert von Joe58 am 20.07.2018 11:59:52, insgesamt 1-mal geändert.

pferdefreund
Beiträge: 3799
Registriert: 26.02.2009 14:35:56

Re: Kein Plan: Mali Modul unverwendbar!

Beitrag von pferdefreund » 17.07.2018 07:48:06

So wie ich das sehe, fehlt da halt noch was - das sind nicht aufgelöste Referenzen und wenn die aufgerufen werden, werden die nicht gefunden und dann kann es nicht funktionieren.

Joe58

Re: Kein Plan: Mali Modul unverwendbar!

Beitrag von Joe58 » 17.07.2018 07:56:05

Guten Morgen,

woher bekomme ich die Referenzen bzw. wie repariere ich dies nun?

Das kann doch nicht sein, dass der Verkäufer und der Hersteller ein nicht funktionstüchtigen Quellcode liefert. GPLv2 lässt grüßen.

Was könnte jetzt ein Lösungsansatz sein?

Liebe Grüße,

Johannes

Edit: Habe ich jetzt einen Freifahrtsschein? Ich kann ja mir keine Codes aus den Fingern ziehen. Mir bringt das null. Ich kann mein Kernel nicht patchen. Was will ich mit einem Tablet ohne GUI???

Benutzeravatar
Tintom
Moderator
Beiträge: 3064
Registriert: 14.04.2006 20:55:15
Wohnort: Göttingen

Re: Kein Plan: Mali Modul unverwendbar!

Beitrag von Tintom » 17.07.2018 12:53:00

Ist das hier jetzt die Fortsetzung von viewtopic.php?f=33&t=164371 ?

Joe58

Re: Kein Plan: Mali Modul unverwendbar!

Beitrag von Joe58 » 17.07.2018 19:17:00

Ja, in dem Thema hier (die Fortsetzung) geht es um das Kernel Modul mali.ko.

Es geht nicht um den Kernel, sondern explizit nur um das eine Modul.

Falls es mir, mit eurer Hilfe, nicht gelingen sollte das Modul GPLv2 kompatibel zu bekommen, so werde ich auf das Patchen des Kernels verzichten und auf der Android Ebene ein neueres Android herausbringen und den Kernel custom handhaben.

Das große Problem, (sehe ich das nur alleine so?), ist, dass ich den Kernel nicht patchen kann. Er wird immer wie in dem Thema von dir gezeigt auf 3.0.8 bleiben.

Das Tablet funktioniert "noch", warum sollte ich mir dann ein anderes/neues kaufen, ich sehe das nicht ein. Nur wegen veralteter Software. In dem Android Bereich kein Problem, wegen Apache 2.0 Lizenz.

Soll ich, sorry für den Ausdruck, einfach auf der GPL2 Lizenz "scheißen"? Ich kann ja nix für das incomplete mali Source...

DeletedUserReAsG

Re: Kein Plan: Mali Modul unverwendbar!

Beitrag von DeletedUserReAsG » 17.07.2018 19:25:44

Statt über Lizenzen zu lamentieren, wär’s hilfreicher, wenn du Infos zur technischen Seite rausrückst. Welcher Mali-400-Treiber, woher? Wie versucht einzubinden? Solche Sachen halt. Für Gesamtüberblick zum Kernel- und Modulbau würde ich mal bei den Custom-Kernel-Bastlern von xda vorbeischauen.

OT: Wenn du so scharf drauf bist, dass alle deine Kernelmodule GP-lizensiert sind, solltest du beim Hardwarekauf darauf achten, dass das möglich ist. Die Lizenz des Kernels schreibt jedenfalls nicht vor, dass externe Module auch der GPL entsprechen müssen, soweit ich weiß. Sonst gäbe es ja auch Probleme mit z.B. den nvidia-Modulen, die selbst nicht frei sind.

Benutzeravatar
schorsch_76
Beiträge: 2594
Registriert: 06.11.2007 16:00:42
Lizenz eigener Beiträge: MIT Lizenz

Re: Kein Plan: Mali Modul unverwendbar!

Beitrag von schorsch_76 » 17.07.2018 20:44:47

Die Symbole kommen aus einem anderen Teil des Kernels. Evtl. ein Teil der im proprietären Teil steckte....

Hier [1][2] finde ich diese Funktionen. Vermutlich braucht dein Mali Modul das ump Modul von Arm.
Properly managed version of ARMs deprecated, but still needed, Universal Memory Provider library.
[1] https://github.com/libv/libump/blob/master/src/ump.h.in
[2] https://github.com/libv/libump

Joe58

Re: Kein Plan: Mali Modul unverwendbar!

Beitrag von Joe58 » 18.07.2018 08:56:04

Guten Morgen,
Joe58 hat geschrieben: ↑ zum Beitrag ↑
16.07.2018 18:37:57
Das für die Mali GPU benötigte ump Modul funktioniert zweifelsfrei mit dem bereits gelieferten Mali Modul zusammen.
@schorsch_76
Ich habe das ump Modul kompiliert gehabt und es funktionierte zusammen mit dem mitgeliferten/vorkompilierten mali.ko Modul zusammen.

ump (vorkompiliert) + mali (vorkompiliert) = geht, ist ja klar kommt ja von dem Hersteller
ump (vorkompiliert + mali (selbst kompiliert) = geht nicht
ump (selbst kompiliert) + mali (vorkompiliert) = geht

Ich weiß, dass ich zuerst das ump Modul kompilieren muss und dann das mali Modul. Es scheint, aber dennoch keine Verbindung zu denen aufzubauen. Evtl muss ich den Pfad angeben, aber wo?

@niemand

Kernel Module müssen meines Wissens nach GPL konform sein. Es gibt auch eine Begründung und zwar, steckt der property Teil als Bibliothek und das ist der Treiber für die Mali GPU.

Bei NVIDIA läuft es ähnlich ab, das Modul ist GPL konform und der Treiber ist property und kann dann mithilfe des quelloffenen Modules auf der Hardware zugreifen.

Also GPL konform ist der Quellcode über den ich rede hier definitiv nicht. Als wenn der Quellcode in einem äußerst bekloppten Zustand sein darf, nur damit "Einsteiger" diesen nicht kompiliert bekommen (Mali).

Die Quellen des Mali Modules befinden sich innderhalb des Archives hier: drivers/amlogic/mali

Das Modul befindet sich hier innerhalb des Kernel Images. Man muss zum auspacken nur den 64 Bytes U-Boot Header ausschneiden und dann den Rest unlzma und dann das CPIO Archiv von dem ersten 0707 UTF-8 bis zum TRAILER ausschneiden.

Ich packe das bald auf github, sonst bleibt das so umständlich, folgende Datei: /drivers/amlogic/ump/include/ump/ump_kernel_interface.h

Code: Alles auswählen

 * Use @ref ump_dd_reference_release "ump_dd_reference_release" when there is no longer any
 * use for the retrieved handle.
Wie in deinem ersten Link @schorsch_76

Code: Alles auswählen

 * @ref ump_handle_create_from_secure_id "ump_handle_create_from_secure_id"
 * functions in order to access this UMP memory, for instance from another process.

Code: Alles auswählen

 * @param num_blocks The number of blocks to return in the blocks array. Use the function
 *                   @ref ump_dd_phys_block_count_get "ump_dd_phys_block_count_get" first to determine the number of blocks required.
 *
Ich glaube das die Mali Treiber während der Kompilation gesucht werden???, das heißt ich muss die Mali (Bibliotheken) Treiber an einem Ort packen? Das wäre jetzt für mich die Erklärung, ich glaub bei der Kompilierung wird dann automatisch aus den Treibern geholt, was gebraucht wird... meine Vermutung.

Beste Grüße,

Johannes

Joe58

Re: Kein Plan: Mali Modul unverwendbar!

Beitrag von Joe58 » 20.07.2018 10:49:29

Ich habe hier noch ein paar Amlogic Kernel Archive von 2012 z. t. mit Mali und dann auch UMP Verzeichnis.

Evtl. lässt sich daraus ein funktionierendes Modul kompilieren. r2p0 Also ca. 2012 ist der Mali Treiber.

Drückt mir die Daumen. :THX:

Joe58

Re: Kein Plan: Mali Modul unverwendbar!

Beitrag von Joe58 » 20.07.2018 11:21:12

LOL!! Es scheint geklappt zu haben, bin eben nochmal gegen Kontrolle machen!

Joe58

Re: Kein Plan: Mali Modul unverwendbar!

Beitrag von Joe58 » 20.07.2018 11:53:58

Es hat geklappt!!!

Beweis: https://www.dropbox.com/s/kklilblb6yj64 ... 6.jpg?dl=0 man achte auf der Kernelnummer-Localversion. :mrgreen:

Es wird denke evtl. sein, dass die GPU jetzt in nur einen Core aktiv ist, oder es wird per Treiber lib geregelt, dann nicht. Mal schauen.

Der Kernel ist somit 100% GPLv2 konform, so wie es sein muss!

Antworten