Où sommes nous ?

Recycler une tablette Android sous Linux

Pour qu'elle serve de tableau de bord pour ma domotique

C'est l'histoire d'une tablette Android que nous avions achetée pas cher, modèle MID-KLIPAD HC-913 et qui après pas mal de péripéties virusésques a fini par ne plus démarrer du tout : bloqué sur l'écran vert d'Android.

Soyons clair, l'expérience sous Android est plutôt moyenne : si les jeux classiques passent sans trop de problèmes, c'est la cata dès qu'elle doit faire plusieurs choses à la fois ... en particulier, lorsque l'on allume le réseau et qu'elle vérifie si des mises-à-jour sont à installer : ççççççaaa rrrrrraaaaammmmmeeee !
S'ajoutera aussi une invasion de virus : au début, je pensais que les gamins avaient fait de mauvaises actions ... mais ça, s'était ce que je pensais au début

Dans cette page, je vais donc narrer mes tentatives pour la recycler en quelque chose d'utile ... soit réinstaller Android, soit m'en servir comme tableau de bord pour ma domotique, sous Linux bien sûr (et à l'heure où j'écris ces lignes, ce n'est pas gagné pour l'un comme pour l'autre).

18 Juillet 2015

Après que la tablette ait été envahie de virus en tous genres, un "reset d'usine" la rendra presque exploitable ... juste des pubs pour Amazone qui s'affichent en bas de l'écran de temps en temps. Un virus aurait-il survécu ?
Quoi qu'il en soit, nouveau problème aujourd'hui : elle se bloque au démarrage sur un écran vert Android ...

22 Juillet 2015

Plusieurs tentatives pour faire un hard reset en utilisant les procédures trouvées sur le net ou fournies par le support ... sauf que ce dernier fini par m'envoyer bouler lorsqu'ils découvrent qu'elle n'est plus sous garantie. C'est vrai que ça leur aurait coûté tellement de m'indiquer comment ouvrir la bête ou m'indiquer où trouver le firmware. Même s'ils sont dans leur droit, c'est Juste AFFLIGEANT de considérer ainsi les clients

23 Juillet 2015

Tentative de reprendre contact avec la tablette grâce à ADB. Et bien ... ça marche
Cool, ce n'est donc qu'un problème logiciel, car la tablette répond à mes sollicitations.

laurent@pset ~# adb devices
List of devices attached
201111016039ae2   device

Malheureusement, comme elle n'était pas en mode Dev, je ne peux pas aller bien loin.

laurent@pset ~# adb shell
- exec '/system/bin/sh' failed: I/O error (5) -

(Sur les forums, on m'a répondu que ce n'est pas forcement dû au dit mode, ça pourrait indiquer aussi que la Flash est corrompue ...)

26 Juillet 2015

D'après mes recherches webesques, la tablette pourrait être bâtie autour d'un proc Allwinner A10 ou A13. Et comme je sais de par mon expérience sur les BananaPI que ces procs bootent en priorité sur une SDCard, essayons avec le système de mon BananaPro ...
La tablette ne démarre plus du tout ! Et c'est une bonne nouvelle : ça indique qu'elle essaye de trouver ses billes sur la SD, mais comme la config d'uboot ne correspond pas, elle stoppe là. Donc ... tout n'est pas perdu !

27 Juillet 2015

J'ai ENFIN réussi à démonter la tablette : enlever les 2 vis de la tranche ne suffit pas, il y a des ergots tous au tour de la coque pour rendre solidaire les 2 morceaux. Le plastique étant relativement souple, une simple lame permet d'ouvrir la bête !

Il n'y a que la caméra que je n'ai pas identifiée.

Sachant maintenant que je peux booter sur une SD, j'ai démarré la console en mode FEL en utilisant l'image idoine comme expliqué ici.

$ lsusb
...
Bus 001 Device 012: ID 1f3a:efe8 Onda (unverified) V972 tablet in flashing mode
...

et

$ ./fel version
AWUSBFEX soc=00001625(A13) 00000001 ver=0001 44 08 scratchpad=00007e00 00000000 00000000

Malheureusement, je ne trouverai pas d'image SPL me permettant de booter depuis l'USB

31 Juillet 2015

Yeaaahhhh, premier boot sous Linux : j'ai utilisé un uboot et un kernel précompilé configurés pour MID-A13, et installé ArchLinux. L'écran reste noir pendant quelques dizaines de secondes, ça fait peur ... mais le login linux fini par arriver.

Mais sans clavier, difficile d'aller plus loin : j'ai donc commandé un adaptateur micro-USB <-> USB ... plus qu'à attendre.

14 Septembre 2015

L'adaptateur clavier est enfin arrivé, ce qui me permet d'accéder à la tablette ... comme on le fait avec n'importe quel système Linux .

Moins de succès côté réseau, le mt7601un n'est reconnu que par les dernières versions de l'OS qui nécessitent eux-mêmes un uboot récent ... que je ne peux compiler : la configuration MID_A13 n'est plus connue de ce dernier (pourquoi ? c'est quand même la configuration la plus répandue des tablettes chinoises à bas coût !)

Par contre, un des intervenants du chat de SunXI m'a donner une piste : utiliser l'USB Gadget qui permet de faire passer la tablette pour ... un adaptateur USB / Ethernet.
Pour ce faire, il faut compiler un nouveau kernel ... mais qui refuse de charger ses modules sous Arch : ça faisait un moment que ça me trottait dans la tête, je passe sous Gentoo. Je suis la même procédure qu'avec n'importe quelle machine à la différence près que le chroot se fait depuis un de mes BananaPI.

Le réseau par USB

Une liaison USB est asymétrique, ce qui implique qu'il faut un maître (généralement, l'ordinateur) et un esclave (la clef USB). Et lorsqu'il s'agit de faire communiquer 2 ordinateurs sous Linux, ces rôles sont déterminés par le module utilisé sur chacune des machines.

g_ether

Si compilé en tant que module, g_ether doit être changé manuellement et configuré comme décrit dans la procédure du site SunXI : la machine apparaitra comme une clef USB pour l'autre participant.

Simple USB Network Links (CDC Ethernet subset) - modules cdc_ether & usbnet

Pas besoin d'action manuelle, ces modules s'activeront automatiquement lorsque l'USB sera connecté à un périphérique capable de lui fournir un service réseau (qui peut donc être une autre machine avec g_ether). Si le DHCPc est activé, la nouvelle interface créée récupérera une adresse IP comme n'importe quelle autre interface réseau ... Rien de spéciale à faire.

Le second mode, usbnet, était exactement ce que je cherchais à faire : la tablette est connectée à la prise USB type B de ma freebox comme je le ferai avec n'importe quel ordinateur ne disposant pas de prise éthernet. Le réseau fonctionne, la tablette est accéssible par SSH comme n'importe quel autre système Linux. Et Avahi me permet de ne même pas me soucier de son adresse IP.
Le but est donc atteint.

15 Septembre 2015 - Compilation de Gentoo

La méthode la plus simple pour créer une carte SD bootable est de créer le BSP en suivant les instructions sur le site de SunXi, ce qui se résume à :

git clone git://github.com/linux-sunxi/sunxi-bsp.git
./configure
./configure a13_mid

en n'oubliant pas de changer le CROSS_COMPILE du fichier MakeFile ... Plus d'explication ma page pour le BananaPI.
Il est possible de changer les options du kernel par la commande

make linux-config

En particulier, il faut ajouter les modules cdc_ether & usbnet pour bénéficier du réseau.

A noter que le fichier .config ne se trouve pas à la racine du kernel mais dans le répertoire

.../sunxi-bsp/build/sun5i_defconfig-linux/.config

Le reste de l'installation est classique ... comme je l'ai fait pour mon BananaPI.

24 Septembre 2015

Quelques changements ces derniers jours :

5 Octobre 2015

J'ai mis en ligne sur mon GitHub les binaires et la procédure qui permet de créer un système bootable.


Visitez :
La liste de nos voyages
Nos sorties Ski et rando
Copyright Laurent Faillie 2001-2017
N'oubliez pas d'entrer le mot de passe pour voir aussi les photos perso.
Contactez moi si vous souhaitez réutiliser ces photos et pour les obtenir avec une plus grande résolution.
Visites durant les 7 derniers jours Nombre de visites au total.

Vous pouvez laissez un commentaire sur cette page.