Kernel für NEO X7 & X8 mit Autorotation Fix

J

JochenKauz

Gesperrt
228
Hallo Leute,
Der Kernel vom Xteam hat das Problem auf dem X8, das er zwar die akkuanzeige gefixed hat, jedoch die autorotation nicht funktionert. Um dieses Problem anzugehen und die verschiedenen Möglichkeiten auszutesten habe ich mich, zusammen mit al_bundy9999, entschlossen den Versuch zu unternehmen aus den yatto/xteam31 Sourcen einen Kernel zu kompilieren.

Edit:
Und es ist vollbracht!!:thumbup:

Angehangen ist jetzt der fertige Kernel, inkl. Autorotation. Der Sensorfix ist Pflicht!
Warnung, nur für HighSpeed Junkies deren X8 das mitmacht! Ansonsten den 1,104GHz Kernel weiter unten benutzen.
Features:
Overclocked CPU 1,2GHz
DDR-Speed 456MHz

Known Problems:
On some X8 the tablet freezes due to the high overclocking.
JK-JB-NEOX8-oc1200_20121102.7z Warning may be unstable on many X8!

Kernel für Odys NEO X8, NEO X7, BQ-Kepler2, BQ-Pascal2, Arnova AN8CG3, M820c3G, Hyundai H900

Features:
Overclocked CPU 1104MHz
Minimum CPU 24MHz
DDR RAM 512MB/ 430MHz
Erweiterter BT Stack by fr3ts0n
HDMI Fix
Camera Fix
TUN/TAP Device activated (VPN)
NTFS Support
External HUB
DVB

Additional feature Kepler2, Pascal2
DDR RAM 1024MB/ 430MHz

Update1...Update8 veraltet

Update 9 (12.01.2013)
Wechsel der Toolchain auf OSELAS gcc 4.6.2
Neue Feature:
Kleineres kernel.img
ca. 10% mehr Geschwindigkeit
External Hub aktiviert
DVB Treiber hinzugefügt

Wie immer getrennte Kernel für JB 4.1.1, JB 4.2.2 und CM10
JB.

JB 4.1.1:
JK-kernel_308_odys-neox8_201301121601_JB.7z
JK-kernel_308_odys-neox7_201301121601_JB.7z
JK-kernel_308_bq-kepler2_201301121601_JB.7z
JK-kernel_308_bq-pascal2_201301121601_JB.7z
JK-kernel_308_hyundai-h900_201301121601_JB.7z
JK-kernel_308_arnova-an8cg3_201301121601_JB.7z
JK-kernel_308_M820c3G_201301121601_JB.7z
Model Fix Jelly Bean 4.1.1:

Für alle Jelly Bean 4.1.1 Kernel wird folgender Modell Fix benötigt. Dieser ist nicht für die CM10/CM10.1/JB 4.2.2 Kernel gedacht!
Oma_JB_v1.2_Modell_fix_NEOX_overclocked.zip


Update 10 (21.01.2013)
CM10 (kein Modell Fix nötig):
Bugfix: Rotation war falsch (Dank an LR7, der den Fehler meldete)
crewrktablets_kernel_308_odys-neox8_201301211220_CM10.7z
crewrktablets_kernel_308_odys-neox7_201301211220_CM10.7z
crewrktablets_kernel_308_bq-kepler2_201301211220_CM10.7z
crewrktablets_kernel_308_bq-pascal2_201301211220_CM10.7z
crewrktablets_kernel_308_hyundai-h900_201301211220_CM10.7z
crewrktablets_kernel_308_arnova-an8cg3_201301211220_CM10.7z
crewrktablets_kernel_308_M820c3G_201301211220_CM10.7z

Update 11 (26.02.2013)
JB 4.2.2/CM10.1 (kein Modell Fix nötig), nicht für JB 4.1.1 geeignet:
Rotation für das neue AOSP 4.2.2 und CM10.1 von Oma angepasst.
crewrktablets_kernel_308_odys-neox8_201302261455_JB422.7z
crewrktablets_kernel_308_odys-neox7_201302261455_JB422.7z
crewrktablets_kernel_308_bq-kepler2_201302261455_JB422.7z
crewrktablets_kernel_308_bq-pascal2_201302261455_JB422.7z
crewrktablets_kernel_308_arnova-an8cg3_201302261455_JB422.7z
crewrktablets_kernel_308_hyundai-h900_201302261455_JB422.7z
crewrktablets_kernel_308_M820c3G_201302261455_JB422.7z


Todo:
Integration meiner Änderungen in die Kernel Sources von Astralix.

Credits goes to yatto/Xteam/Joaquim/Astralix/fr3ts0n/Oma

Wie immer ausprobieren der Kernel auf eigene Gefahr!
 

Anhänge

  • logo_neox8_clut224.jpg
    logo_neox8_clut224.jpg
    31,5 KB · Aufrufe: 637
  • logo_neox7_clut224.jpg
    logo_neox7_clut224.jpg
    27,1 KB · Aufrufe: 602
  • logo_kepler2_clut224.jpg
    logo_kepler2_clut224.jpg
    31,8 KB · Aufrufe: 526
  • logo_pascal2_clut224.jpg
    logo_pascal2_clut224.jpg
    27,1 KB · Aufrufe: 553
  • logo_JK_generell.jpg
    logo_JK_generell.jpg
    11,4 KB · Aufrufe: 3.000
Zuletzt bearbeitet:
  • Danke
Reaktionen: old_general, joeweb, killer-mig und 5 andere
Wäre halt super wenn uns die Italiener eine .config zukommen lassen würden :-/
 
al_bundy9999 schrieb:
Wäre halt super wenn uns die Italiener eine .config zukommen lassen würden :-/
Das wäre natürlich schön, kann aber auch sein das die M803HC_defconfig dem entspricht, damit konnte ich den Kernel immerhin zu einem Boot, samt Oma's JB 1.2.2a überreden, nur leider nicht stabil laufend.
Zumindestens kann ich schon sagen das die .config die man mit make M803HC_defconfig erzeugt, wohl schon nicht schlecht ist.
Was ich in meinem ersten Test schon sehen konnte ist, das die autorotation auch nicht funktioniert, nur der akkufix passt.

Bei meiner Durchsicht der Sourcen bin ich schon auf interessante Unterschiede in den MMA8452_sensor.c Sourcen gestossen, im Vergleich zu den Smartpad810C oder Odys GPL Sourcecodes. Da kann man sicherlich mal ansetzen.
 
Es ist vollbracht, der erste bootende und auch funktionierende Kernel aus den yatto/xteam31 Sourcen.

Battery Fix integriert (Thanks to Joacquim).

Probleme:
Autorotation funktioniert nicht.
 
  • Danke
Reaktionen: al_bundy9999 und mardon
He super werd ihn in den nächsten tagen testen

Vielen dank für deine arbeit
 
Dickes fettes Lob und vielen Dank für deine Arbeit...werde den dann auch mal testen :)
 
Respekt!!! Bedeutet nicht funktionierende Autorotation, dass das Bild stets im Querformat verbleibt?
 
LR7 schrieb:
Bedeutet nicht funktionierende Autorotation, dass das Bild stets im Querformat verbleibt?
Ja und Nein.

Bei mir verhält er sich so... nach dem ersten Start ist der Bildschirm im Querformat. Dann spiele ich das Backup aus TitaniumBackup zurück, wo die rotate.apk von Oma mit dabei ist. Dadurch wird dann der Screen auf hochkant gedreht. Ich vermute das die rotate.apk sich den letzten Status merkt.
Mit der rotate.apk ist kann ich dann drehen wie ich will.

Ich versuche aber gerade das Problem mit der Rotation in den Griff zu bekommen, was leider nicht ganz einfach ist.
Bisher habe ich folgendes schon herausgefunden:
1. Mit aktiviertem MMA8452 (Xteam31 Kernel/mein Kernel) wird vom dmesg gemeldet das er den MMA8452 nicht initialisieren konnte.
2. Im dmesg beim StockRom meldet i2c einen MMA7660, jedoch keinen MMA8452. Dieser wird mir jedoch über QuicksystemInfoPro gemeldet.
3. Ein Einbinden des MMA7660 zusätzlich zu dem MMA8452 in meinem Kernel gibt mir zwar auch die Info das i2c den MMA7660 jetzt eingebunden hat, nur drehen tut er immer noch nicht. Androsensor schmeisst mir keinen Fehler, aber zeigt auch nichts an.
4. Einbinden der Treiberdateien (nach Überarbeitung da für einen 2.6er Kernel) des GPL Sourcecodes von Odys brachte keine Verbesserung.

Nächster Testkernel den ich heute kompliliert habe, bindet nur den MMA7660 ein, mal sehen was der so bringt.

Wie ich in dem spanischen Board, welches Oma für sein JB1.2 verlinkt hat, gesehen habe, sind die Spanier bei dem Kepler 2 traurig das der Mediacom810C Kernel vom XTeam nur 512MB RAM anspricht (scheint wohl ne alte Varante des Kepler 2 zu sein). Wenn Interesse von einem Kepler 2 Besitzer mit 1GB besteht, dann kann ich den auch für 1024MB RAM kompilieren.
 
Also mein neo x8 hat einen MMA8452Q und keinen MMA8452 Sensor.
Sowie ein AK8975 Orientation sensor

Gesendet von meinem GT-S5830 mit Tapatalk 2
 
Zuletzt bearbeitet:
mardon schrieb:
Also mein neo x8 hat einen MMA8452Q und keinen MMA8452 Sensor
:D

Schon klar, in den Sourcen und auch in der Config wird allerdings das "Q" eingespart.
 
  • Danke
Reaktionen: al_bundy9999 und mardon
JochenKauz schrieb:
Wie ich in dem spanischen Board, welches Oma für sein JB1.2 verlinkt hat, gesehen habe, sind die Spanier bei dem Kepler 2 traurig das der Mediacom810C Kernel vom XTeam nur 512MB RAM anspricht (scheint wohl ne alte Varante des Kepler 2 zu sein). Wenn Interesse von einem Kepler 2 Besitzer mit 1GB besteht, dann kann ich den auch für 1024MB RAM kompilieren.

Na, dann los ;-)

https://www.android-hilfe.de/forum/...tional-users-english.322696.html#post-4365608


:thumbup:
 
Vielen Dank!
 
So Kernel gerade installiert und er läuft vor allem das weniger aufdringliche Bootlogo ist super ^^.

nur die rotation scheint noch immer nicht zu funktionieren :-/

aber damit kann ich daweil leben
 
@Oma

Nein Rotiert trotzdem nicht :-/, man kann nur mit der Rotate App umschalten
 
Ok, dann scheint es wohl ein Problem des Kernels zu sein (Jochen already mentioned it).


:thumbup:
 
Mittlerweile bin ich auch schon bei der Analyse des Problems etwas weiter.
Problem wird wohl dadurch ausgelöst, das der xteam Kernel zwar auf den "originalen" BQ Kepler 2 Sourcen beruht, diese aber in der damaligen HW Revision mit nem MMA7660 ausgerüstet waren und auch nur zu dem Chip die Sourcen ausgeliefert wurden. So wie es aussieht, hat dann yatto versucht den MMA8452 Treiber hinzuzufügen. Dieser Treiber läuft auch mit Anpassungen (die ich schon vorgenommen habe) nicht sauber durch. Die probe Funktion läuft auf einen Fehler und initialisiert den MMA8452 nicht. Dies konnte ich im dmesg von allen von mir getesteten Kerneln nachvollziehen und wird auch im logcat sichtbar, denn der mma8452_daemon ist nicht existent.
Zur Zeit bin ich jetzt am analysieren wie ich den Treiber initialisiert bekomme. Ich habe zwar schon kleine Fortschritte erzielen können (i2c findet ihn kann jedoch keine Daten empfangen), aber dieses Trial and Error beim Programmieren dauert leider.

Melde mich wenn es weitere Fortschritte gibt..
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: mardon und al_bundy9999
Langsam wird es echt interessant...:biggrin:

Ich habe den Sensor erstmal laufen bekommen, aber er "stottert" ein wenig.
Das Problem liegt in einer echt interessanten Kleinigkeit.
Quicksytem info Pro meldet einen MMA8452Q, daher haben sich alle Kernelbauer bisher darauf konzentriert den Treiber MMA8452.c einzubinden, und keinen MMA7660. Diese Vorhaben geht mit den schon erwähnten Fehlermeldungen im dmesg aber schief.
Betrachtet man das StockRom des X8, dann findet man dort allerdings den MMA7660 zusammen mit einer Initialisierung genau dieses Sensors, von einem MMA8452Q keine Spur. Das was fehlt, und in all den Sourcen die ich gesichtet habe vorhanden ist, ist die Print Meldung "MMA7660 probe ok".
Ich habe mir daraufhin den Stockrom Kernel des X8 per Hex Editor etwas genauer angesehen und ihn mit dem von mir gebauten MMA7660 Kerneln verglichen. Die lustigen Leute des Stockroms haben den Print Befehl wohl auskommentiert!
Anhand der Arnova Sourcen AN7BGxx (ein 3.x Kernel) habe ich dann den XTeam Kernel mit diesem verglichen und insbesondere nach MMA7660 gesucht. Interessanterweise wird der MMA8452Q anders initialisiert (I2C), als der MMA7660. Das findet man dann in diversen Stellen z.B. der board.h. Insbesondere sind die Einsprungstellen/Adressen für den MMA7660 nicht definiert.
Diese ganzen Unterschiede habe ich in den XTeam Kernel übertragen, samt den Treibern von Arnova.
Und Voila, das dmesg sieht jetzt genau so aus wie beim StockRom Kernel!

Leider dreht er immer noch nicht...
Daraufhin habe ich mir mit Androsensor angesehen was er denn sagt, und er zeigt sogar Werte! Leider sehen die zur Zeit eher wirr aus (vorher gab es mit dem XTeam Kernel überhaupt nichts, somit läuft der Sensor). An dem Punkt arbeite ich gerade.

Etwas habe ich im logcat gesehen... obwohl das Init, samt mma7660 probe ok ist, schmeisst mir das logcat etwas in der Richtung Eventhub no configuration file for device 'gsensor' found. Kann damit jemand was anfangen?
 
  • Danke
Reaktionen: al_bundy9999

Ähnliche Themen

H
  • Hardtervirus
Antworten
0
Aufrufe
1.087
Hardtervirus
H
O
Antworten
0
Aufrufe
1.547
openglfreak
O
I
  • IMrIMike
Antworten
0
Aufrufe
1.314
IMrIMike
I
Zurück
Oben Unten