[Huawei Ascend G615][DEV] Discussione riserervata a sviluppatori ROM e KERNEL
DEVELOPERS THREAD
Usiamo questo thread per raccogliere info, codice, links e files utili per spiegare gli sviluppi dei nostri studi sul ASCEND G615 / U9508
La struttura di questo thread cercherà di essere la seguente.
POST - partition table
POST - kernel
POST - recovery
POST - rom
e in seguito commenti a caldo e aggiornamenti da riscrivere formattati correttamente.
1 POST - Partition table
Internal SDCARD /eMMC /dev/block/mmcblk0
Spoiler:
codice:
fdisk -l /dev/block/mmcblk0
Disk /dev/block/mmcblk0: 7952 MB, 7952400384 bytes
256 heads, 63 sectors/track, 963 cylinders
Units = cylinders of 16128 * 512 = 8257536 bytes
Device Boot Start End Blocks Id System
/dev/block/mmcblk0p1 1 947 7634943+ ee EFI GPT
Partition 1 has different physical/logical beginnings (non-Linux?):
phys=(1023, 255, 63) logical=(0, 0, 2)
Partition 1 has different physical/logical endings:
phys=(1023, 255, 63) logical=(946, 203, 11)
Spoiler:
codice:
parted /dev/block/mmcblk0 print
Error: The backup GPT table is not at the end of the disk, as it should be.
This might mean that another operating system believes the disk is smaller.
Fix, by moving the backup to the end (and removing the old backup)?
Fix/Ignore/Cancel? I
I
Warning: Not all of the space available to /dev/block/mmcblk0 appears to be
used, you can fix the GPT to use all of the space (an extra 262111 blocks) or
continue with the current setting?
Fix/Ignore? I
I
Model: MMC 008G4B (sd/mmc)
Disk /dev/block/mmcblk0: 7952MB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Nella parte successiva (111kB) non si capisce bene cosa ci sia.
C'è anche da sottolineare che le partizioni non riempiono tutta la eMMC ma risulta avanzare uno spazio alla fine di 134 MB!!! (da approfondire il motivo e cosa ci possa essere dentro).
xloader /dev/block/mmcblk0p1
262kB
The x-loader is a small first stage bootloader derived from the u-boot base code. It is loaded into the internal static RAM by the OMAP ROM code. Due to the small size of the internal static RAM, the x-loader is stripped down to the essentials. The x-loader configures the pin muxing, clocks, DDR, and serial console, so that it can access and load the second stage bootloader (u-boot) into the DDR.
round /dev/block/mmcblk0p2
3 MB
mostra un pattern ripetitivo di 40 bytes per i primi 200 bytes
Spoiler:
codice:
FF 0F FF 00 FF CC C3 CC C3 3C CC FF FE FF FE EF FF DF FF DD FF FB FF FB BF FF 7F FF 77 F7 BD EF FF F0 FF F0 0F FC CC 3C CC 33 CC CF FF EF FF EE FF FD FF FD DF FF BF FF BB FF F7 FF F7 7F 7B DE
poi 00 fino alla posizione 0x1a8000
poi FF fino alla fine.
nvme /dev/block/mmcblk0p3
4 MB
Relazionato al bootloader o al modem..
misc /dev/block/mmcblk0p4
4 MB
Vuota, tutti 00, delle stesse dimensioni di nvme.
splash /dev/block/mmcblk0p5
8 MB
Un'analisi di questa partizione ha evidenziato come questa partizione sia praticamente un log del kernel in plain text.
Per vederlo si può lanciare questo comando da adb shell:
codice:
cat /dev/block/mmcblk0p5
o eventualmente per salvare in un file di testo si può usare il comando:
oeminfo /dev/block/mmcblk0p6
33MB
Contiene definitivamente qualcosa, non so cosa.
Probabile che contenga qualcosa relazionato allo sblocco del bootloader con fastboot.
reserved /dev/block/mmcblk0p7
8 MB
Relazionata alla boot.img, viene installata ogni volta che viene cambiato kernel.
reserved2 /dev/block/mmcblk0p8
8 MB
Partizione ext4 montabile. Completamente vuota.
recovery2 /dev/block/mmcblk0p9
8 MB
Vuota, tutti 00.
recovery /dev/block/mmcblk0p10
8 MB
Partizione della recovery, spiegata meglio nel post 3.
boot /dev/block/mmcblk0p11
8 MB
Kernel+ramdisk, spiegata meglio nel post 2.
modemimage /dev/block/mmcblk0p12
33 MB
E' accessibile e montata nel filesystem della rom, possibile che abbia delle routine per calibrare la radio.
modemnvm1 /dev/block/mmcblk0p13
8 MB
E' accessibile e montata nel filesystem della rom, sembra abbia qualcosa a che fare con la radio(modem).
modemnvm2 /dev/block/mmcblk0p14
8 MB
E' accessibile e montata nel filesystem della rom, sembra abbia qualcosa a che fare con la radio(modem).
system /dev/block/mmcblk0p15
939 MB
Non c'è bisogno di presentazioni.
cache /dev/block/mmcblk0p16
268 MB
Non c'è bisogno di presentazioni.
cust /dev/block/mmcblk0p17
536 MB
E' accessibile e montata nel filesystem della rom, contiene software rilasciato dalla Huawei e junk app.
userdata /dev/block/mmcblk0p18
5926 MB
Non c'è bisogno di presentazioni.
FUORI DALLA TABELLA DELLE PARTIZIONI MA NELLA eMMC mmcblk0boot1
2 MB
Piena di FF.
Per quanto riguarda la posizione, idem come sopra.
mmcblk0boot0
2 MB
Da qua si legge un sacco di testo tra cui un
console=ttyAMA0, 115200
però non saprei la funzione di questa partizione.
external_sd /dev/block/mmcblk1p1
Sotto un esempio di quello che potreste vedere con una memory card da 16 GB
Spoiler:
codice:
fdisk -l /dev/block/mmcblk1
Disk /dev/block/mmcblk1: 16.0 GB, 16012804096 bytes
255 heads, 63 sectors/track, 1946 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/block/mmcblk1p1 1 1947 15633408 c Win95 FAT32 (LBA)
10-04-13, 16:59
mangusta86
2 POST - Kernel
Ogni tentativo fatto fino ad oggi di compilare dai sorgenti del U9510 è fallito.
Al momento abbiamo trovato il modo di scompattare il kernel e ricompattarlo con una differenza dell'ordine dei pochi bytes nel HEADER dell'immagine (primi 64bytes).
Abbiamo quindi ricavato con certezza le posizioni nella RAM in cui vengono caricati il kernel e la ramdisk.
kernel address: 0x00008000
ramdisk address: 0x01000000
tags address: 0x00000100
page size = 2048 bytes
Abbiamo accertato che la stringa da 20 bytes nella posizione da 0x240 a 0x253 non è immessa dalla Huawei ma è una sorta di checksum (probabilmente SHA1) effettuato dallo script che ricompatta la boot.img. Ciononostante abbiamo la convinzione che il bootloader, per permettere l'avvio di soli kernel usciti dalla Huawei, usi la partizione RESERVED come firma digitale del kernel.
Ho effettuato una piccola analisi della partizione RESERVED per cercare di capire la logica con la quale Huawei firma i kernel. Purtroppo quanto emerso non porta nuove speranze in quanto, posto comunque il risultato della mia analisi. (Clicca qui per scaricare report analisi sulla partizione Reserved del kernel B107)
Come promesso precedentemente ho preparato un'archivio dei kernel che ho ricevuto e raccolto dalle ROM che circolano sulla rete installabili con la recovery cinese:
Se avete altre versioni di kernel da mandarmi oppure feedback sui kernel precedenti non esitate a contattarmi.
Potete utilizzare il comando dd per fare il dump delle partizioni BOOT e RESERVED nel seguente modo:
Le buone notizie sono però relazionate appunto a questi sorgenti, in quanto c'è buona speranza che per gran parte dell'hardware siano sufficienti a compilare un kernel che almeno nelle funzioni base del riconoscimento dell'architettura della board e della cpu, sia compatibile con il nostro U9508.
P.S. credits to maknsacc per la mole di lavoro svolto
RAMDISK
Per quanto riguarda le ramdisk possiamo affermare che al momento non abbiamo trovato un modo per scompattare e ricompattare la initrd.cpio.gz ovvero il file estratto con le procedure descritte precedentemente. Abbiamo però la possibilità di estrarle e studiarle come peraltro già precedentemente dimostrato.
Rimangono quindi validi i link alle ramdisk che ho messo su github:
Analizzando la recovery cinese, quella ufficiale e la partizione boot è emerso che le immagini delle recovery hanno un header di 800 bytes prima del magic ANDROID! (presente in tutte le boot.img di android).
Di questi header delle due recovery disponibili al momento, sono uguali i primi 80 bytes. Vengono ora riportate le principali differenze nei 800 bytes. Allegato 55616Allegato 55617
Per chi usa linux e dovesse trovare problemi ad accedere alla shell di adb quando il telefono è in modalità recovery, è necessario riavviare il demone di adb come root.
codice:
sudo adb start-server
Di seguito i link alle due recovery, scompattati dal file .exe dei cinesi. E' possibile metterle sul dispositivo con fastboot.
notiziona da parte di huawei gli ho contattati dicendo:
I am an owner of a huawei u9508 and I am also a developer, and I would like to know when an update is released and when it will be released the kernel source
la huawei mi ha risposto
Hi. No news for Huawei U9508 upgrade & kernel source release has been confirmed. Thanks.
traduzione: nessuna notizia di un aggiornamento a jelly bean 4.2 pero il rilascio del kernel è imminente
11-04-13, 10:50
fracarro
Non vorrei dire castronerie ma leggendo bene l'intero paragrafo, mi sembra di capire che alla Huawei non abbiano la minima idea(news), né dell' upgrade, né del rilascio dei sorgenti del kernel....
11-04-13, 10:53
mauronofrio
POST 4
riguardo alle rom nn si puo fare granchè quando potrò anche modificare la ramdisk e qualcosaltro si potrannno fare passi avanti per ora si puo giostrare solo con il build.prop quindi poco e nnt, all'uscita dei sorgenti del kernel vorrei essere in contatto con qualcuno che possa compilarli per farmi capire come fare ( al momento nn ho il pc a breve ce l'avro).
Una cosa che ci siamo accorti con sorex è che senza la cartella data e in particolare della cartella cust presente dentro essa, dove ci sono parecchi file tra cui lib, la rom nn parte, di conseguenza sarebbe un lavoro per voi( che conoscete meglio il linguaggio) aggiornare meta-inf facendo in modo che venga scritta automaticamente quella cartella che tra l'altro occupa uno spazio bello grosso nella rom.
Poi quando avro un po' di tempo dovro dare un'occhiata agli apk e ai rispettivi lib xk nn sono quelli comuni alle altre rom, nn si puo sostitutire l'app per i msg e l'app phone.apk .
Fino ad ora nessuno si è messo realmente a modifcare la rom, io purtroppo senza pc posso fare poche cose, quando ce lo cerco di sfruttarlo al max, per fortuna sorex impara in fretta e gli ho fornito parecchi tool per costruire la rom
notiziona da parte di huawei gli ho contattati dicendo:
I am an owner of a huawei u9508 and I am also a developer, and I would like to know when an update is released and when it will be released the kernel source
la huawei mi ha risposto
Hi. No news for Huawei U9508 upgrade & kernel source release has been confirmed. Thanks.
traduzione: nessuna notizia di un aggiornamento a jelly bean 4.2 pero il rilascio del kernel è imminente
No credo che la traduzione sia sbagliata...dice:
Ciao. Nessuna notizia è confermata sull'upgrade e il rilascio del kernel per il Huawei U9508. Ergo non hanno idea e di sicuro non rilasciano il kernel.
PS non sono un dev ma dovevo pur correggere la traduzione:)
11-04-13, 15:00
mauronofrio
hanno scritto che il rilascio del kernel é stato confermato ma che nn ci sono aggiornamenti, o almeno cosi ho capito
11-04-13, 15:26
Padoan
Infatti hanno rilasciato un piccolo aggiornamento sul kernel: D
11-04-13, 15:51
Rockguy40
Quote:
Originariamente inviato da Padoan
Infatti hanno rilasciato un piccolo aggiornamento sul kernel: D
Non c'entra con quello che hanno risposto a mauronofrio, "kernel source" è diverso da "kernel update". La prima sono le sorgenti del kernel, la seconda è un aggiornamento del kernel. Quindi non rilasceranno a breve nessuna sorgente questo è quello che gli hanno detto. Non hanno menzionato aggiornamenti kernel nella risposta:)
11-04-13, 18:42
Padoan
Quote:
Originariamente inviato da Rockguy40
Non c'entra con quello che hanno risposto a mauronofrio, "kernel source" è diverso da "kernel update". La prima sono le sorgenti del kernel, la seconda è un aggiornamento del kernel. Quindi non rilasceranno a breve nessuna sorgente questo è quello che gli hanno detto. Non hanno menzionato aggiornamenti kernel nella risposta:)
Ma l aggiornamento lo hanno appena rilasciato.-.
13-04-13, 05:17
mangusta86
PMQOS PROJECT
Io e Maknsacc abbiamo creato su github un gruppo e un progetto, per aumentare i nostri sforzi nel capire il nostro terminale e cercare di portare delle migliorie.
Accantonato per ora il discorso kernel e recovery, sospeso per un attimo l'analisi della eMMC, tenteremo di analizzare cosa sta dietro a questo apk, cercando in primo luogo di ricostruire i meccanismi con cui lavora e poi se possibile affinarli.
Se qualcuno se la sentisse di contribuire al progetto è ben accetto!!!
13-04-13, 12:08
fracarro
Se può essere utile, questo é un estratto del file pmqos.xml del servizio modificato;
Inoltre ho dato un occhiata sia ai file del progetto, che nei file del mio pmqos.apk, pare che si abbia la possibilità di abilitare l'interfaccia del programma (la stessa che compare nell'apk modificato).
Il link per il pmqos modificato, lo potete trovare nel thread giochi ma esiste anche il tool aggiornato "Ascend D Tools", sempre ad opera di Geno e che provai qualche tempo fa (oltre alla gestione delle freq cpu/gpu, ha anche altre impostazioni interessanti).
Inoltre, diversamente dal classico pmqos modificato che deve obbligatoriamene essere sostituito, il tool di Geno si installa come un normale programma.
ps: quello che mi preme maggiormente, sarebbe la possibilità di abilitare anche la gestione delle frequenze ddr, che tra l'altro compare tra le varie stringhe del file dex, contenuto nell'apk stesso.
13-04-13, 12:23
maknsacc
ti ringrazio per la segnalazione.
13-04-13, 12:45
mangusta86
marco fassi <fassimarco86@gmail.com>
04:28 (7 hours ago)
to genokolar
Hi,
I'm Marco (mangusta86), a software developer, I'm trying to understand better how it works the u9508 and probably you are the one that knows that better. How did you managed to create the recovery? did you have leaked software from Huawei?
Is there any chance you could help in doing a recovery multilanguage or at least in english?
Do you think we will see an unlocked bootloader on our device at a certain point in the future?
Do you actually know the proper boot sequence of this phone?
If you can answer at least at few of this questions I would be really gratefull.
Thank you for your time, I look forward to hearing from you.
Best Regards
Geno Kolar
05:08 (6 hours ago)
to me
the recovery pack by huawei, because it need encrypt.
i contact huawei developer, he tell me that huawei maybe unlock bootloader, but three months later,
huawei do nothings.
the multilanguage recovery can't make, because huawei don't want help me.
ragazzi, per caso riuscireste con le vostre conoscenze a sviluppare il Sweep2Wake per il nostro terminale?
13-04-13, 21:45
mangusta86
Quote:
Originariamente inviato da asdf420
ragazzi, per caso riuscireste con le vostre conoscenze a sviluppare il Sweep2Wake per il nostro terminale?
ancora non è possibile fare un kernel, figuriamoci kernel tweaks... mi dispiace
16-04-13, 17:02
mangusta86
Ho aggiornato il post sul kernel con i link alle versioni che sono riuscito a trovare... @maknsacc, i 20 bytes di firma nella boot.img sono la somma di 3 shasum, ho verificato dal mkbootimg.c che si trova in rete.
Sent from my HUAWEI U9508 using Tapatalk 2
19-04-13, 02:27
mangusta86
visto che siamo un po' bloccati su più fronti apro un altro fronte...
Porting della cyanogenmod 10 ;-) magari un po del nostro lavoro porterà a qualcosa in futuro...
in particolare date un occhio qua: https://github.com/mangusta86/androi...tree/jellybean
diciamo che la maggior parte del lavoro sarà in questa sezione... se qualcuno ha idea di come migliorare la situazione....
19-04-13, 22:15
mangusta86
Al secondo tentativo di sistemare la cyanogenMOD abbiamo la bootanimation funzionante ma zygote continua a morire.
In più c'è una libreria collegata a libcamera_core.so che manca e audioflinger non funziona.
terzo tentativo cyanogenMOD. Nessun file da Huawei. Si avvia quasi più roba di prima...
AudioFlinger anche se muore si avvia senza dare particolari errori.
VideoEditorProfile.java è presente nel tree della cyano ma non capisco perchè non lo compili a questo punto... Che sia la mancanza di un file .cpp con lo stesso nome da qualche parte nella cartella /framework/base/media/jni ?
Poi mi puzza un po che cerchi ancora hwframework.jar e framework_ext.jar che sono di Huawei quando ho levato tutti i file proprietari nel tree della cyano
questo post lo aggiorno domani per ora viviamo un po di speranza ;-)
26-04-13, 06:51
mangusta86
dopo uno scherzetto che ho fatto alla cm (poi spiego) arriviamo quasi all'avvio...
però mi muore qua:
codice:
W/ActivityManager( 294): Process com.android.phone has crashed too many times: killing!
I/Process (19660): Sending signal. PID: 19660 SIG: 9
E/dalvikvm(19673): Could not stat dex cache directory '/cache/dalvik-cache': Permission denied
I/dalvikvm(19673): Unable to open or create cache for /system/app/Provision.apk (/cache/dalvik-cache/system@app@Provision.apk@classes.dex)
I/ActivityManager( 294): Process com.android.phone (pid 19660) has died.
D/AndroidRuntime(19673): Shutting down VM
W/dalvikvm(19673): threadid=1: thread exiting with uncaught exception (group=0x40c37300)
E/AndroidRuntime(19673): FATAL EXCEPTION: main
E/AndroidRuntime(19673): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.android.provision/com.android.provision.DefaultActivity}: java.lang.ClassNotFoundException: com.android.provision.DefaultActivity
E/AndroidRuntime(19673): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2099)
E/AndroidRuntime(19673): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2210)
E/AndroidRuntime(19673): at android.app.ActivityThread.access$600(ActivityThread.java:142)
E/AndroidRuntime(19673): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1208)
E/AndroidRuntime(19673): at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime(19673): at android.os.Looper.loop(Looper.java:137)
E/AndroidRuntime(19673): at android.app.ActivityThread.main(ActivityThread.java:4931)
E/AndroidRuntime(19673): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime(19673): at java.lang.reflect.Method.invoke(Method.java:511)
E/AndroidRuntime(19673): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791)
E/AndroidRuntime(19673): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:558)
E/AndroidRuntime(19673): at dalvik.system.NativeStart.main(Native Method)
E/AndroidRuntime(19673): Caused by: java.lang.ClassNotFoundException: com.android.provision.DefaultActivity
E/AndroidRuntime(19673): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61)
E/AndroidRuntime(19673): at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
E/AndroidRuntime(19673): at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
E/AndroidRuntime(19673): at android.app.Instrumentation.newActivity(Instrumentation.java:1053)
E/AndroidRuntime(19673): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2090)
E/AndroidRuntime(19673): ... 11 more
D/dalvikvm( 120): GC_EXPLICIT freed <1K, 70% free 2162K/7171K, paused 8ms+8ms, total 104ms
I/ActivityManager( 294): Start proc com.android.phone for restart com.android.phone: pid=19686 uid=1001 gids={3002, 3001, 3003, 1015, 1028}
W/ActivityManager( 294): Force finishing activity com.android.provision/.DefaultActivity
I/Process (19673): Sending signal. PID: 19673 SIG: 9
I/ActivityManager( 294): Process com.android.provision (pid 19673) has died.
I/ActivityManager( 294): START {act=android.intent.action.MAIN cat=[android.intent.category.HOME] flg=0x10000000 cmp=com.android.provision/.DefaultActivity u=0} from pid 0
I/ActivityManager( 294): Start proc com.android.provision for activity com.android.provision/.DefaultActivity: pid=19697 uid=10025 gids={1028}
E/dalvikvm(19686): Could not stat dex cache directory '/cache/dalvik-cache': Permission denied
I/dalvikvm(19686): Unable to open or create cache for /system/app/Phone.apk (/cache/dalvik-cache/system@app@Phone.apk@classes.dex)
D/AndroidRuntime(19686): Shutting down VM
W/dalvikvm(19686): threadid=1: thread exiting with uncaught exception (group=0x40c37300)
E/AndroidRuntime(19686): FATAL EXCEPTION: main
E/AndroidRuntime(19686): java.lang.RuntimeException: Unable to instantiate application com.android.phone.PhoneApp: java.lang.ClassNotFoundException: com.android.phone.PhoneApp
E/AndroidRuntime(19686): at android.app.LoadedApk.makeApplication(LoadedApk.java:501)
E/AndroidRuntime(19686): at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4309)
E/AndroidRuntime(19686): at android.app.ActivityThread.access$1300(ActivityThread.java:142)
E/AndroidRuntime(19686): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1268)
E/AndroidRuntime(19686): at android.os.Handler.dispatchMessage(Handler.java:99)
E/AndroidRuntime(19686): at android.os.Looper.loop(Looper.java:137)
E/AndroidRuntime(19686): at android.app.ActivityThread.main(ActivityThread.java:4931)
E/AndroidRuntime(19686): at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime(19686): at java.lang.reflect.Method.invoke(Method.java:511)
E/AndroidRuntime(19686): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791)
E/AndroidRuntime(19686): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:558)
E/AndroidRuntime(19686): at dalvik.system.NativeStart.main(Native Method)
E/AndroidRuntime(19686): Caused by: java.lang.ClassNotFoundException: com.android.phone.PhoneApp
E/AndroidRuntime(19686): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61)
E/AndroidRuntime(19686): at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
E/AndroidRuntime(19686): at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
E/AndroidRuntime(19686): at android.app.Instrumentation.newApplication(Instrumentation.java:967)
E/AndroidRuntime(19686): at android.app.LoadedApk.makeApplication(LoadedApk.java:496)
E/AndroidRuntime(19686): ... 11 more
Visto che usiamo il kernel della b627 e ovviamente anche la ramdisk, abbiamo dovuto trovare un modo per caricare le librerie di cm caricate durante init.
Dal momento che 2 librerie huawei non servono più, ho rinominato framework2.jar in hwframework.jar e come per magia siamo arrivati qua...
cosa vuol dire questo? sei riuscito a sbloccare i file riguardanti alla cpu e gpu?
21-07-13, 20:21
mangusta86
No è giusto un promemoria non sapevo dove metterlo... Tutti dovrebbero avere questi file... Sarebbe interessante capire il significato della policy e perché c'è un numero assurdo come frequenza massima della gpu
abbia come effetto consecutivo quello di abbassare da 1.4 a soli 600 mhz, la frequenza massima della cpu e se questo cmq, si rifletta sui 3 core rimanenti.
Cmq, sono sempre piu' convinto che huawei abbia fatto casino con il kernel.
ps: il risultato sclerato su gpu lo dava anche a me quando andavo ad impostare manualmente le varie voci, risolvevo in qualche modo, impostando il suo frequency_safe a 240000 anziche' 120000 di default.
pps: Marco, io ti Stimo! :cool:
Edit delle ore 00.21: guardando bene le date, mi sono accorto della differenza in cpu max, ricordi se eri per caso sulla dev. edition e con governor forzato su 600?
22-07-13, 02:00
mangusta86
si l'avevo abbassato io, sto lavorando sul cortexbrain script per forzare basse frequenze della cpu con il telefono in screen off. pero non capisco ancora perchè la frequenza della gpu non sale mai al massimo quando gioco... anche se metto performance come policy e governor.... ma poi cosa è sta policy?
non mi è ben chiaro... Di default sembra sia powersave...
Ora voglio provare a obbligare la ddr e la cpu alla massima frequenza di clock con screen on.
Rimango dell'idea che il governor di huawei sia qualcosa di pietoso.
22-07-13, 23:31
fracarro
Hmm... e se fossero anche policy in seno al kernel come Ipps-v2, pm_qos_params o qualcosa del genere... potrebbero essere relazionate anche al governor (la colpa non sarebbe solo sua), stranamente io mi ritrovo con una frequenza di 1.5ghz senza aver toccato nulla delle policy dell'hotplug di huawei e nelle tue stesse condizioni con frequenze gpu max sparate li a casaccio dopo il primo avvio, (che sia impostato in powersave, ondemand o prestazioni, poco importa).
Per quel che riguarda la gpu, solo intervenendo manualmente su max,min e safe risolvo (480/360/120 o 240) e il governor continua a fare il suo lavoro.
Il problema lo noto solo ed esclusivamente su gpu, le altre voci rimangono inalterate.
Potrebbe essere una non corretta relazione tra la gestione delle tensioni di alimentazione al primo avvio e la frequenza massima impostata, proprio sui valori di gpu?
La gpu lavora con una frequenza standard di 500mhz (o qualcosina in più se non ricordo male) su core e 1066 su ddr (che viene ridotta probabilmente a 480mhz/900mhz via software sul G615).
La cosa mi porterebbe a credere che sia il kernel huawei,che il suo governor proprietario, possano darsi la mano a vicenda....
Ora sarebbe il momento di sparare delle idee per migliorare tutto questo... (da notare che cortexbrain è lanciato con nohup quindi l'output è salvo per il debug)
25-07-13, 09:51
erbode
Nel frattempo sono stati rilasciati i codici sorgente del kernel del P6..
non so se possa servire a qualcosa... ???? - ???? - ???????
25-07-13, 10:58
mauronofrio
finquando nn sbloccano il bootloader nn servono a nnt
25-07-13, 13:05
Sartana
Quote:
Originariamente inviato da mauronofrio
finquando nn sbloccano il bootloader nn servono a nnt
Posso chiedere però una cosa? ok bootloader sbloccato permette di intervenire ad un livello decisamente più "basso". Ma è possibile fare un porting anche con bootloader bloccato? Perché per altri terminali huawei anche con booloader bloccato avevano fatto il porting di cyano e altri kernel, è proprio il nostro che ha qualche blocco ulteriore?
25-07-13, 13:10
mangusta86
Purtroppo non abbiamo le conoscenze sufficienti... E poi sicuramente il fatto che sia il primo terminale con questa architettura a essere studiato non aiuta
25-07-13, 13:31
erbode
Quote:
Originariamente inviato da mangusta86
Purtroppo non abbiamo le conoscenze sufficienti... E poi sicuramente il fatto che sia il primo terminale con questa architettura a essere studiato non aiuta
Purtroppo neanche altrove (mi riferisco soprattutto alla realtà cinese) ci sono sviluppatori che riescano in questa impresa, anche Geno ha fatto cose ottime, ma poi si è dovuto arrendere alla chiusura di Huawei.
Ho postato i sorgenti, non nella speranza che ci si tiri fuori per magia qualche ROM, ma perchè potrebbe essere occasione di ulteriore studio sul funzionamento del kernel.
Grazie per il lavoro che state facendo.
Si potrebbe spiegare lo sputtanamento delle frequenze max gpu (268435455) mentre il governor si gratta la testa.
ps: sarebbe ottimo se anche le frequenze su ddr e gpu venissero implementate nei vari profili :)
Tipo:
480max -360min (ddr450) in profilo prestazioni
480max - 58min (ddr360) in profilo standard
120max - 58min (ddr120 o 360, dipende dalla fluidita' generale) in profilo powersave
03-08-13, 18:53
erbode
Come ho scritto in privato a mangusta e fracarro, oggi ho trovato questo link: https://code.launchpad.net/~tyler-ba.../+merge/168717
potrebbe essere un modo per far avviare un kernel mod, attaccando il telefono al PC?
se qualcuno ha voglia di darci un'occhiata...
07-08-13, 13:27
mangusta86
Quote:
Originariamente inviato da erbode
Come ho scritto in privato a mangusta e fracarro, oggi ho trovato questo link: https://code.launchpad.net/~tyler-ba.../+merge/168717
potrebbe essere un modo per far avviare un kernel mod, attaccando il telefono al PC?
se qualcuno ha voglia di darci un'occhiata...
Dopo una analisi bella tosta del programma posso confermare che questa applicazione è molto interessante, in quanto è in grado di bypassare il bootloader del nostro telefono rendendo possibile l'installazione di un kernel custom.
La cattiva notizia è che per fare questo il kernel stock dovrebbe avere al suo interno il modulo USB-to-Serial che per quanto ne so io non è mai stato integrato da Huawei in nessun kernel rilasciato fino a oggi.
Si potrebbe aggiungere il modulo USB-to-Serial una volta in possesso dei sorgenti, però dovremmo verificare se fisicamente possibile.