Jump to content

[DEV] Aller plus loin avec sa tablette Mpman !


not6
 Share

Recommended Posts

J'ai beau relire tout le fil de discussion, je ne vois aucune mention du modèle de ta tablette ... donc question idiote : tu es sûr qu'elle a 1Go de RAM ?

Si oui... ben non je ne vois pas, c'est sûrement la config du kernel qui fait ça. Mais c'est la première fois que j'en entends parler.

Link to comment
Share on other sites

Si si c'est écrit : mp959 (le poste #24 ) et dans mon profil aussi !

Oui moi aussi cela me surprend car si je boot sur la nand il détecte bien 1024MO (même kernel)

sauf que je n'ai pas : Ignoring unrecognised tag 0x00000000.

Link to comment
Share on other sites

Un commencement de début de piste possible là : https://github.com/linux-sunxi/linux-sunxi/issues/3

En particulier ce qui parle des arguments passés au kernel :

root=/dev/nandd console=ttyS0,115200 rw init=/init mem=448M@0x40000000 fbmem=32M@0x5a000000 loglevel=8;

Tu n'aurais pas un "mem=xxxM" qui traîne qq part ?

Link to comment
Share on other sites

Merci pour le début de piste , je regarde tout ca !

Edit:

Non pour les arguments , j'ai créé mon boot.scr donc je suis sur du coup.

Edit2:

Bon j'ai enfin réussi a retrouver mes 1024MO :) c'etait un problème u-boot !

Le pb c'est que j'avais utilisé le U-boot qui tu as posté plus haut (celui que j'avais utilisé pour

faire mon recovery ) vu qu"avec le uboot+spl de Suzuke , le CWM ne bootait pas .

Suzuke's modified spl+uboot

sauf que j'avais zappé ca :

Donc visiblement il faut un uboot spécial pour prendre en compte le 1GO de mem.

root@android:/ # dmesg |busybox more										
<5>[ 0.000000] Linux version 3.0.8+ (inet_wzh@inetsuperserver) (gcc version 4.5.1 (Sourcery G++ Lite 2010.09-50) ) #39 PREEMPT Tue Jul 10 13:34:22 CST 2012
<7>[ 0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7), cr=10c53c7f
<7>[ 0.000000] CPU: VIPT nonaliasing data cache, VIPT aliasing instruction cache
<7>[ 0.000000] Machine: sun4i
<6>[ 0.000000] Total Detected Memory: 1024MB with 2 banks

Edited by not6
Link to comment
Share on other sites

Bon voila enfin tout qui marche sur ma uSD !

un petit récapitulatif :

- j'utilise la GTR 4.0.4 avec le kernel(et modules) de la CM9 (20120721)

car avec ce kernel j'ai la nand de détectée .

- avec le Uboot+spl de Suzuke : j'ai donc bien mes 1024MO de ram détectés

- j'ai partitionné ma uSD comme suit:

P1 BOOT 17MB -> type Linux / FS en fat (commençant a 2048)

P2 ROOTFS 64MB -> type Linux / FS en ext4

P3 SDCARD 4GO -> type HPFS/NTFSux / FS en vfat -> montée par vold en /mnt/sdcard

(NB: Si je crée cette partition en étendue Vold ne la monte pas )

P4 ETENDUE

P5 SYSTEM 512MB -> type Linux / FS en ext4 -> montée en /system

P6 CACHE 128MB -> type Linux / FS en ext4 -> montée en /cache

P7 DATA 3GO -> type Linux / FS en ext4 -> montée en /data

Link to comment
Share on other sites

Bonjour,

Bon j'ai enfin réussi a retrouver mes 1024MO :) c'etait un problème u-boot !

Le pb c'est que j'avais utilisé le U-boot qui tu as posté plus haut (celui que j'avais utilisé pour

faire mon recovery ) vu qu"avec le uboot+spl de Suzuke , le CWM ne bootait pas .

Suzuke's modified spl+uboot

sauf que j'avais zappé ca :

Donc visiblement il faut un uboot spécial pour prendre en compte le 1GO de mem.

Et donc tu as utilisé quel u-boot finalement, alors ? j'ai un peu de mal à suivre.

J'ai essayé de trouver une discussion dans un forum autour de ce Suzuke's modified spl+uboot que tu as cité plusieurs fois. Par le lien de téléchargement, hein, celui-là tu l'as donné, mais savoir ce qui a été fait dedans, quoi. Aurais-tu un lien ?

Bravo pour l'Android bootable sur SD. Moi je vais m'attaquer à une version A13 de mon CWM Recovery bootable sur SD...

J'en ai besoin.

Link to comment
Share on other sites

bonjour lannig,

Oui j'utilise bien le uboot de suzuke car sinon je n'ai que 512Mo de détecté .

j'ai lu l'info pour la mémoire ici : http://rhombus-tech.net/allwinner_a10/ainol_novo_elf_7/

et pour sur miniland : https://www.miniand.com/forums/forums/2/topics/98

Mais après qq recherches je pense qu'en compilant le nouveau uboot ( et en utilisant la bonne config de carte) doit détecter les 1024MO . Mais bon visiblement on ne peux pas avoir un uboot universel pour 512 et 1024.

https://github.com/linux-sunxi/u-boot-sunxi/issues/1

https://github.com/linux-sunxi/u-boot-sunxi/blob/sunxi/board/allwinner/a10_mid_1gb/dram.c

Voila sinon j'essaye de faire la même manip pour booter sur CM9 depuis l'usb mais pour l'instant android ne démarre pas.

(plein d'erreurs dans le logcat ) donc a suivre.

Bon courage pour ton CWM , la version A10 n'est pas compatible avec le A13 ?

Link to comment
Share on other sites

Bon courage pour ton CWM , la version A10 n'est pas compatible avec le A13 ?

Merci.

Ca dépend de quoi on parle :

- u-boot : compatible ? j'en doute, c'est assez près du h/w et il y a des différences significatives dans ce qui est intégré au SOC

- kernel : surement pas compatible, mais j'ai ce qu'il faut

- binaire du programme recovery : non, pas compatible de ma propre expérience, pour au moins deux raisons : les I/O vers la carte SD (plein d'erreurs d'I/O quand j'utilise la version A10 => montage se fait mais après c'est n'importe quoi) et bien sur l'affectation des boutons. Ca n'a pas grand'chose à voir avec A10/A13 en soi mais en général les tablettes A13 cheap sont a 3 boutons (vol+/vol-/power) donc il faut un recovery adapté : ça, j'ai.

Donc il n'y a que u-boot qui me cause du souci.

Link to comment
Share on other sites

ok merci pour les précisions ,

pour u-boot je pense que le plus simple (comme tu as un toolchain d'installé) c'est de le compilé toi même en choisissant

sun5i ou plutôt a13_mid comme "board" au lien de sun4i.

je pense que celui de suzuké utilise la mk802II.

https://github.com/l...boot-sunxi/wiki

edit: pour ma part j'ai compilé uboot en utilisant "a10_mid_1gb" et cela marche très bien, ram bien détectée ...

cependant tjs mon pb avec la CM9 impossible de réussir a la faire fonctionner ;(

Edit2: bon toujours en galère avec la CM9 , d'ailleurs j'ai remarqué que si je boot sur la nand puis insère une sd rapidement , elle ne démarre pas et me fait le même pb que sur le boot depuis la sd cad reste bloquée sur le logo :( donc pour l'instant je passe a autre chose :)

Edited by not6
Link to comment
Share on other sites

Bonsoir

Je pourris votre topic ....

Comment est ce que l'on fait pour compiler un driver ?

Il faut des make et des gcc des trucs comme pour linux quoi.

Ou trouve ton cela pour nos tablettes ?

Par exemple sous un cm9 et a l'epoque de ma mp948 a la rue,

Mon gps usb et mon blutooth usb etaient fonctionels !!!!

Merci de m'aiguiller si vous connaissez et navre pour le pourissage...

Link to comment
Share on other sites

Bonjour Lanoiraude, non tu ne pourris rien, ce topic ne nous est pas réservé.

Ta question est intéressante, mais la réponse est ... comment dire ... vaste et difficile !

En gros (je résume hein) on ne peut pas compiler un driver tout seul. Il faut compiler un kernel (noyau) complet et ses drivers. Or un driver dépend + ou - du kernel avec lequel il a été compilé

- fonctionnellement (pas sûr du tout qu'il fonctionne avec un autre kernel, en général ça dépend de l'éloignement des versions)

- au travers d'une chaîne de caractères appellée "modversion" qui identifie le kernel dans le driver compilé, et dont la correspondance est testée au moment où on essaye de charger le driver. Si ça ne correspond pas il ne charge pas

Donc pour un driver qui manque sur une tablette il y a 3 approches :

- changer kernel + drivers : soit on remplace complètement Android en général pour y mettre Cyanogenmod (CM), soit on se contente de "greffer" le kernel de CM + ses drivers dans une installation existante

- compiler le driver dans un environnement kernel semblable à celui d'origine du fabricant : si le kernel installé est très "standard" c'est faisable, mais encore une fois il faut tout compiler

- utiliser un driver précompilé (par exemple venant de CM) et le patcher en binaire pour aller changer "modversion" de façon à ce qu'il accepte de se charger dans le kernel d'origine, et croiser les doigts pour qu'il fonctionne (pas gagné d'avance !). Note : on fait aussi beaucoup le contraire (prendre un driver d'origine et le patcher pour CM) quand les sources du driver ne sont pas disponibles, pour faire un "compatibility zip" de CM.

Maintenant même si tu as les drivers, pas certain que cela suffise. Pour le Bluetooth par exemple il faut que le "userspace" d'Android (la partie interface utilisateur, quoi) ait les modules de gestion du BT compilés. Et s'il ne les a pas, on repart pour une autre histoire encore plus complexe. Au bout du compte c'est CM ou rien dans ce cas-là.

Je te vais pas te faire un tuto sur la compilation d'un kernel parce que je n'en suis moi-même qu'à mes tout debuts là-dessus. Sais pas si Not6 est plus avancé que moi ou pas et s'il pourra te mettre sur les rails (et j'en profiterai). J'ai compilé des centaines de kernels Linux mais pour PC. Android c'est encore assez nouveau pour moi.

Tout le même, le lien quasi-obligatoire vers la "bible" : http://source.androi...itializing.html

C'est la référence, mais bon, comme toutes les références, ça ne suffit pas pour s'en sortir.

Edited by Lannig
Link to comment
Share on other sites

Bonjour ,

c'est pas compliqué de le sens ou si on a l'habitude de linux, de compiler des kernels , des modules, de faire du crossdev ect ...c'est la routine :)

par contre si l'on viens du cote obscure :) et qu'on a l'habitude du menu démarrer, de l'explorateur et de cliquer sur un bouton d'une interface d'un logiciel qui fait tout ! la c'est un peu plus compliqué...

Sinon je pense que Lannig a bien fait le tour de la question pour les modules et des différentes options.

-Il faut des make et des gcc des trucs comme pour linux quoi.

En gros oui :)mais en 1er il faut installer un toolchain pour faire de la cross-compilation vers l'architecture en question.

Ou trouve ton cela pour nos tablettes ?

http://rhombus-tech....kernel_compile/

http://linux-sunxi.org/FirstSteps

http://linux-sunxi.org/Android

http://www.cnx-softw...evices-android/

Par exemple sous un cm9 et a l'epoque de ma mp948 a la rue,

Mon gps usb et mon blutooth usb etaient fonctionels !!!!

D'après les features de la CM9 :

Bluetooth USB dongle support (btusb and ath3k)

USB GPS support (cp210x and pl2303)

dans la config bt du kernel> HCI USB DRIVER / ATHEROS AR300X SERIAL SUPPORT

dans le config usb du kernel > USB CP210X family of UART Bridge Controllers / USB Prolific 2303 Single Port Serial Driver

Link to comment
Share on other sites

Bon ,

j'ai réussi a compiler un kernel compatible avec ma android GTR404 uSD.

j'ai pris le kernel ici https://github.com/Quarx2k/linux-allwinner (3.0.52)

car sur linux-sunxi je ne savais pas lequel prendre !

la compile kernel/modules passe sans problème. (testé avec le toolchain linaro sf(pas hf) )

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- sun4i_crane_defconfig

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- -j16 uImage modules

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- INSTALL_MOD_PATH=output modules_install

Premier boot : pas d'image :) , juste le lcd d'allumé. adb ok

logcat : des erreurs GLES.

en regardant ici : https://github.com/Quarx2k/linux-allwinner/tree/allwinner-v3.0-android-v2/drivers/gpu/mali/mali

j'ai vu que le driver mali avait été mis ( version r3p0)

donc j'ai remplacé les librairies EGL/MALI d'origine par celles ci :

https://github.com/linux-sunxi/mali-libs/tree/master/lib/r3p0/armel/android

Reboot , et la GTR404 démarre et j'arrive a l'écran de cnx.

j'ai pas pu aller plus loin car je n'ai pas les sources de mon driver toucscreen (ft5x_ts + goodix_touch_3F).

Et même en modifiant le vermagic de ceux d'origine cela ne passe pas (module_layout différent).

Donc voila pour l'instant stand-by :)

Link to comment
Share on other sites

merci pour les liens.

j'avais compilé un driver pour ubuntu a l'epoque une cle wifi.

et comme a chaque fois qu'il me manquait un truc, je l'installais avec synaptic a la fin, j'avais tout les outils et les dependances.

avec le recul effectivement je me souviens des sources du kernel et autres.

mais puisque c'est "clairement du linux tout ça" pourquoi les souces et les dependances de bases

ne sont pas presentes quelques part comme pour les distro ???

merci encore pour les explications.

Link to comment
Share on other sites

J'ai finalement réussi a faire fonctionner le touchscreen :

-En compilant de nouveau le kernel pour désactiver CONFIG_MODVERSIONS

(cette fois ci je suis parti de celui du linux-sunxi https://github.com/l...nxi/linux-sunxi )

-En changeant les vermagic des modules du touchscreen de la cm9

(907c_compatibility_1.2.0 pour la mp959)

cependant j'ai remarqué un bug gênant avec cette version :

-si je démarre avec le câble usb branché , cela démarre normalement mais quand je débranche la session se coupe et cela boucle sur l'animation de démarrage (process bootanim) jusqu'à ce que je rebranche le câble usb et la une nouvelle session se lance.

-si je démarre sans le câble usb branché ,cela boucle sur l'animation de démarrage jusqu'à ce que je branche le câble usb et la session se lance.

Pour l'instant je ne sais pas si cela viens du kernel (chgt du kernel , mauvaise config de ma part) de la uSD ou d'autre chose , il faut que je me penche sur les logs .

a suivre donc ...

Edited by not6
Link to comment
Share on other sites

Bon ,

je n'ai toujours pas trouvé mon pb de câble usb débranché qui fait rebooter la session sur la GTR404 avec mon kernel, la je sèche un peu !

Sinon j'ai enfin réussi a faire booter la CM9 avec mon kernel mais bon du coup pour ne pas boucler sur la bootanim je suis obligé de changer vold.fstab et donc je n'ai pas /mnt/sdcard et /mnt/extsd ( ce qui est quand même gênant). A creuser donc !

Link to comment
Share on other sites

ayé j'ai fini trouvé du lourd....

Android 4.1.2 fonctionnel avec le décodage vidéo qui fonctionne...tablette russe DIGMA IDS10

http://sourceforge.net/projects/wive-ng/files/wive-ng-ids/

A flasher avec Livesuit

J'ai téléchargé la version du 22/01/2013...je l'ai installée ce soir

Je pensais perdre une caméra au passage...même pas! touchscreen OK, gyroscope OK

Elle est en recharge là, mais la conso n'a pas l'air catastrophique. Le Kernel est un 3.0.60 il me semble....

Les plus :

- C'est très fluide....apparemment plus d'accroche de la rom (ou on te demande d'attendre ou d'arrêter le programme)

- Meilleure navigation internet

- Les vidéos FullHD qui ne passaient pas sur les CM10/CM10Tweaks fonctionnent (compris FullHD+DTSMasterAudio...je sais, c'est pas très utile)

Le défauts remarqués pour le moment :

- Rom Russe/Anglais/Chinois.....mais le clavier est tout de même dispo en Français

- Plusieurs logiciels, dont MxPlayer, ne vont pas cataloguer les fichiers placés sur la SD externe....obligé de les lancer avec un explorateur

- lorsqu'on change de page, la transparence de FancyWidget met une petite seconde à s'activer, l'espace d'un instant le widget est opaque

- pas de réglage de la résolution HDMI....d'ailleurs je n'ai pas du tout essayé l'HDMI pour le moment

Link to comment
Share on other sites

Je connaissais cette branche de dev russe. J'avais d'ailleurs demander s'il pouvait inclure plus de langue mais on m'avait répondu "niet" car ce firmware est officiel de la marque "digma".

Sinon, tu peux essayer "morelocal2" pour franciser la majorité de tes apps (pas l'UI malheureusement).

Link to comment
Share on other sites

Ouaip je l'ai vue...mais la tablette a l'air de fonctionner vraiment bien en 4.1.2, si bien que je risque de la conserver un peu plus...

Le truc curieux c'est que la batterie de la mpdc est annoncée à 3000mAh ce qui est sans doute inexacte tant c'est faible!

Le ptit Allwinner A10 a l'air d'avoir repris des couleurs avec cette rom digma, à voir avec les tests

Si vraiment je dois changer ce sera peut-être pour une rockchip 3188 avec écran rétina....à voir d'ici avril/mai

Link to comment
Share on other sites

La MPDC99 a une batterie de 6000Ma (j'ai ouvert), ca m'aurait étonné 3000ma B)

Le root: no problem avec unlockroot 3.1

Le backup stock: no problem avec rkdump et romdump

Les Google apps: no problem: tous es fichiers necessaires figurent deja dans le firm, il suffit de rajouter "PhoneSky" manquant.

La dalle IPS: je ne dirais qu'une chose, magnifique. (la meme que la MP959 mais en plus lumineuse).

La cerise: Antutu bench 3.0.3: 11926 (1500pts de mieux que la yzipro) :emo_im_kissing:

Link to comment
Share on other sites

Ahhhh déjà reçue!

3000 c'était clairement pas possible....on pouvait espérer une 8000

6000, c'est presque la même que celle de base de la yzi non?

l'antutu bourre bien! même en 3.0 c'est la tranche haute du Rockchip

Link to comment
Share on other sites

@Plumplum murigny64

Ça faisait longtemps, (le bon vieux temps de la mp959 :) )

Pour continuer le off-topic pour ce qui est de mon futur SoC moi je me verrai bien avec un A31 allwiner http://en.wikipedia....i/Allwinner_A31 .

Voila sinon pour recoller au Topic , je viens de tester la ids10-a41_v1.0.4-22012013 proposé par Plumplum sur uSD.

A première vue elle marche nickel sur ma mp959 ( wifi,usb,touchscreen,vold...) ,le kernel est bien en 3.0.60 , elle est vraiment très réactive .

et je n'ai pas le bug de reboot de session au débranchement du cable usb :)

Pour ceux que cela intéresse , quelques liens pour décompacter une image livesuit :

http://linux-sunxi.org/LiveSuit_images

https://www.miniand....LiveSuit images

pour mettre et booter cette ROM sur une uSD il faut récupérer boot.img et le system.img:

( FSFAT16_BOOT_00000000000 RFSFAT16_SYSTEM_000000000 )

- renommer RFSFAT16_BOOT_00000000000 en boot.img ( a décompresser avec split_bootimg.pl, copier le ramdisk , le kernel uImage ... voir posts précédents )

- renommer RFSFAT16_SYSTEM_000000000 en system.fex et le convertir en system.img

(simg2img system.fex system.img voir http://muzso.hu/2012...d-factory-image )

Et faire comme pour la gtr404:

- Effacer le contenu des partitions cache et data.

- Copier le kernel sur la partition BOOT.

( convertir boot.img-kernel en uImage )

- Copier le ramdisk sur la partion ROOTFS

( modifier init.sun4i.rc pour changer le montage des partitions NAND par la uSD /dev/block/nandX par /dev/block/mmcblkOpY)

- Copier le system sur la partition SYSTEM

( modifier vold.fstab pour par exemple faire pointer /mnt/sdcard/ ou /mnt/extsd/ sur une partition de la uSD NB: utiliser une partition primaire )

Et voila un Android 4.1.2 fonctionnel sur uSD :)

Edit: le petit défaut trouvé avec ce kernel pas d'accès a la NAND si boot depuis la uSD.

(visiblement une option KERNEL a modifier https://github.com/hno/linux-allwinner/commit/2fdfc284c5ad7acc6943e1bcfc83e40ee7b8b0c9)

mais bon au moins on touche pas a la NAND !

Edited by not6
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...