Cyanogenmod 11.0 mit angepasstem Kernel

  • 10 Antworten
  • Letztes Antwortdatum
P

Pete5

Neues Mitglied
0
Hallo zusammen,
Habe mir CM 11.0 nach folgender Anleitung selbst kompiliert. Link
Nun möchte ich das ROM kompilieren mit dem Treiber für den Netzwerkchip ASIX 88xx via menuconfig. Ich bekomme aber folgende Fehlermeldungen zu denen ich bisher keine Lösung finden konnte:
Code:
/home/pete/android/system/kernel/samsung/espresso10/arch/arm/kernel/irq.c:45:28: fatal error: mach/sec_addon.h: No such file or directory
compilation terminated.
make[3]: *** [arch/arm/kernel/irq.o] Fehler 1
make[2]: *** [arch/arm/kernel] Fehler 2
make[1]: *** [sub-make] Fehler 2
make[1]: Verzeichnis »/home/pete/android/system/kernel/samsung/espresso10« wird verlassen
make: *** [TARGET_KERNEL_BINARIES] Fehler 2
make: *** Auf noch nicht beendete Prozesse wird gewartet …

Nach dem ersten erfolgreichen Kompiliervorgang habe ich folgendes versucht:
Code:
make clean
repo sync
cd ~/android/system/kernel/samsung/espresso10
make menuconfig
Load an Alternate Configuration File: ./arch/arm/configs/cyanogenmod_p5110_defconfig
make mrproper
croot
brunch p5110
und nach einer Weile des Kompilierens bricht der Vorgang mit besagter Fehlermeldung ab.

Hat jemand eine Idee dazu?

Grüße Pete
 
Hat denn keiner eine Idee dazu???
 
Der Fehler ist ja eindeutig, er findet die Datei mach/sec_addon.h nicht.
Ich vermute mal, damit ist die gemeint: arch/arm/mach-omap2/include/mach/sec_addon.h .
Hast du in deiner defconfig den definitiv drin, dass mach-omap2 verwendet wird? Sprich, ist in der defconfig die Architektur richtig?
Denn wenn du make menuconfig aufrufst, wird as passend zu der Host-Architektur gemacht, in deinem Fall wohl x86_64.
Was du aber machen möchtest ist menuconfig für ARM, daher:
Code:
make ARCH=arm menuconfig
 
Hi Spartaner,
vielen Dank für Deine Antwort.
Ja der Fehler ist eindeutig und ich versuche schon seit Tagen meine Frage zu beantworten warum zum Teufel die og. Datei nach einem 'menuconfig' nicht gefunden wird, nur eine Lösung dazu konnte ich bisher nicht finden.
Testweise habe ich die Datei 'arch/arm/mach-omap2/include/mach/sec_addon.h' in das include - Verzeichnis unter arch/arm/ kopiert. Dann findet er diese Datei, eine Lösung ist das aber auch nicht, denn es werden dann andere Dateien nicht mehr gefunden.

Dein Hinweis:
make ARCH=arm menuconfig
könnte aber die Lösung bringen. Morgen schau ich in die defconfig rein, was da drin steht. Habe meine config gerade nicht vorliegen, aber ich denke die Zeile
Code:
CONFIG_ARM=y
ist die auschlaggebende?
Oder gibt es noch einen Eintrag der vorhanden sein muß damit das 'Verzeichnis arch/arm/mach-omap2' berücksichtigt wird?

Gruß
Pete
 
Das Problem ist, dass du die defconfig mittels make menuconfig öffnest, ohne make menuconfig zu sagen, dass die defconfig für einen ARM Prozessor ist. Daher werden viele Optionen für ARM deaktiviert und solche für X86 aktiviert und menuconfig probiert, aus deiner ARM defconfig eine X86 defconfig zu machen. Und das ist insbesondere schlecht, da omap eben eine ARM-Architektur ist.
Damit mach-omap berücksichtigt wird und überhaupt gesetzt wird, muss du aber wahrscheinlich gesetzt haben, dass du eine ARM CPU verwendest, was du der menuconfig aber mitteilen musst.
Ich hatte auch häufiger den Fehler gemacht und eine defconfig ohne ARCH=arm geladen, nur um mich dann über das komplett andere Endergebnis zu wundern :biggrin:.
 
...und wieder was gelernt :)
Bisher bin ich davon ausgegangen dass die Optionen aus der defconfig übernommen und nicht geändert werden.
Morgen komme ich dazu es auszuprobieren und werde hoffentlich erfolgreichen Vollzug melden können.

Vielen Dank und Gruß
Pete
 
Der Build ist einwandfrei durchgelaufen :thumbup:
Jetzt muß ich testen ob der Treiber auch wie gewünscht mitkompiliert wurden.

Vielen Dank für die Hilfe!

Grüße Pete
 
Die Treiber sind wohl erfolgreich eingebaut worden, zumindest bekomme ich folgendes angezeigt
Code:
lsusb
Bus 001 Device 002: ID 0b95: 1790
und dies ist mein USB-Ethernet-Adapter mit dem Asix Chip

Es bleiben aber noch folgende 2 Fehler übrig:
1. Das WLAN läßt sich nicht aktivieren. Wenn ich den Schalter auf 'An' stelle, wird keine WLAN gefunden und nach einer Weile springt der Schalter auf 'Aus' zurück?
Mit dem Cyanogenmod 11 nightly funktioniert das WLAN.

2. Wenn ich versuche das Netzwerk zu konfigurieren bekomme ich ebenfalls einen Fehlermeldung.
Code:
ifconfig eth0 192.168.1.100
error: SIOCSIFADDR (No such device)
und in der Ausgabe von dmesg finde ich folgendes
Code:
[irq/206-synapti] tsp: ts_irq_handler: 0 dn. remain: 1
[irq/206-synapti] tsp: ts_irq_handler: 0 up. remain: 0
[       usbhostd] host_notifier_ usbhostd: mode 1, count 721, HIGH


Hat jemand eine Idee womit dies zusammenhängen könnte?

Gruß
Pete
 
Zuletzt bearbeitet:
Mit den Hinweisen aus folgendem Post
[Tut] Eigene Treiber in den Android-Kernel einbinden, am Beispiel Treiber für USB-LAN

habe ich nun die Treiber erfolgreich in mein ROM eingebaut.

Mit der App 'Ethernet Droid'
Ethernet Droid – Android-Apps auf Google Play

ist es nun auch möglich eine Verbindung zum Netz herzustellen.

Browsen geht, aber bei anderen Anwendunge gibt's Probleme.
Z.B. kann ich die App Google Play aufrufen, auch in dem angebot suchen udn Apps auswählen, wenn ich aber dann eine App isntallieren möchte läufte der Verlaufsbalken, es wird 'Auf Netzwerk warten angezeigt' und hier geht's dann nicht mehr weiter.
Auch wenn ich Google Maps aufrufe, wird angezeigt dass keine Netzwerkverbindung bestünde, während eine WoL-App funktioniert.

Weiß jemand Rat?

Gruß Pete
 
Für dieses Problem habe ich auch noch keine Lösung gefunden, aber das Problem liegt nicht an Deinem Kernel oder LAN-Treiber.

Bestimmte Apps (z.B. der 'Download' vom Playstore) laufen nur auf bestimmten Netzwerk-Typen.

Wenn man mit einem WLan mit Proxy verbunden ist, läßt sich genau das gleiche feststellen: Man kann im Playstore die Apps angucken, aber man kann keine runterladen. Warum Goggle das so komisch implementiert hat, weiß ich auch nicht.
 
Danke für die Info, ist schonmal gut zu wissen dass dieses Problem nicht an meinem ROM liegt.

Beim Querlesen in verschiedenen Foren bin ich immer wieder über einen sog. 'Connectivity Service' gestolpert. Ich habe die Vermutung dass man hier ansetzen müsste um diesem Problem beizukommen. Ich kann aber nicht einschätzen ob dies überhaupt eine umsetzbare Möglichkeit wäre und ob man diese auch als Hobbyist umsetzen könnte. Ein professioneller Entwickler wäre dazu wahrscheinlich in der Lage.

Zu diesem Thema habe ich folgendes gefunden
Making Ethernet work on Android – Jetson TK1 | Linux & Android Blog

und durch eine Google-Suche mit dem Begriff 'EthernetDataTracker' bin ich auf allerhand Code-Beispiele gestoßen. Ich kann aber nur laienhaft programmieren und bin deshalb nicht in der Lage einzuschätzen ob's der richtige Ansatz wäre.

Gruß Pete
 
Zuletzt bearbeitet:

Ähnliche Themen

M
  • Moonblast
Antworten
1
Aufrufe
1.219
swa00
swa00
F
Antworten
0
Aufrufe
1.336
Fr33l4nc3r
F
C
Antworten
0
Aufrufe
1.297
Cortablo
C
Zurück
Oben Unten