2 votes

Comment faire pour que le téléphone démarre automatiquement à l'insertion de la batterie (bootloader déverrouillé et Root : oui) ?

Par insertion de batterie, j'entends le courant circulant sur les broches de la batterie, no le port micro USB.

Description

Le téléphone en question est un Samsung Galaxy Xcover 4, le chargeur de démarrage es déverrouillé et j'ai Accès à la racine . Son objectif est d'être un dispositif de kiosque qui sera scellé dans un boîtier externe en plastique dur. Cela signifie que le bouton d'alimentation n'est pas disponible pour démarrer le téléphone. Le téléphone est alimenté directement par le mur au moyen d'un circuit imprimé d'élimination de la batterie fabriqué sur mesure, et j'ai besoin du port micro USB pour la communication UART en mode hôte, ce qui signifie qu'il ne sera jamais chargé/alimenté par le port micro USB.

Ce qui a été tenté jusqu'à présent

Comme mentionné, l'appareil est enraciné, donc j'ai essayé de modifier l'image de la partition BOOT et de flasher une image mise à jour. Les modifications que j'ai cherché à faire concernent le programme

/init

dans le répertoire Root. et ses associés

/init.rc
/init.samsungexynos7570.rc
/...

fichiers. Par exemple, j'ai pu faire en sorte que le téléphone démarre lorsqu'il est chargé via le port USB en écrasant le contenu du fichier suivant

/system/bin/lpm

avec le script

#!/system/bin/sh
echo b > /proc/sysrq-trigger

car /system/bin/lpm est référencé dans un service spécifié dans la section charge de /init.rc. J'ai également pu le faire démarrer via la charge du port USB en supprimant les déclencheurs "on charge" existants dans les fichiers init.*.rc, et en ajoutant simplement

on property:ro.bootmode=charger:
    trigger late-init

Pour plus de détails sur ce que j'ai fait, voir ce lien . Mais c'est pas une solution pour moi parce que je veux qu'il démarre simplement en alimentant les broches de la batterie, et non le port micro USB (qui est occupé à être en mode hôte, donc il ne peut certainement pas être chargé).

Autres réflexions

Cependant, puisque la modification du fichier /init.rc a changé son comportement même lorsqu'il est "éteint" (c'est à dire qu'il démarre maintenant lorsqu'il est chargé par micro USB et non plus lorsqu'il ne l'est pas), cela semble me dire que le téléphone n'est jamais vraiment complètement éteint lorsqu'il est "éteint", et que le programme /init est constamment en cours d'exécution tant qu'il y a assez de charge sur les broches de la batterie (s'il vous plaît déraillez ce train de pensée dès que possible si c'est complètement faux). Ce qui voudrait dire que le noyau et le programme /init devraient démarrer automatiquement quand il y a suffisamment de charge sur les broches de la batterie. Je pensais donc ajouter simplement quelque chose du type

trigger late-init

ou

start <my_service>

(où mon_service par exemple, le script lpm que j'ai mentionné plus haut) dans un stade précoce de déclenchement de l'init, afin qu'il démarre simplement en vertu de l'exécution du programme /init. Mais jusqu'à présent, je n'ai pas eu de chance.

Quelqu'un sait-il si une telle chose est possible ? Merci pour votre temps.

2voto

Zykrates Points 21

J'ai soudé les broches de ma Nexus 7 2012 Gen 1 et l'appareil a démarré. La soudure simule un bouton de mise en marche toujours enfoncé. Cependant j'ai essayé la même chose avec la Nexus 7 2013 Gen 2 et elle s'est éteinte à nouveau, car le bouton était toujours pressé. J'ai donc dû souder un condensateur et une résistance en série pour simuler un appui court sur le bouton. Cela a fonctionné pour moi, mais la solution logicielle serait plus élégante. Je n'ai pu mesurer que quelques uA lorsque la batterie est branchée, je ne peux donc pas imaginer qu'une partie du bootloader s'allume sur les appareils mentionnés. Mon idée est maintenant de souder l'alimentation directement sur le port micro usb car pour les données seules 2 broches (USB2.0) sont utilisées. Broches USB : https://www.giga.de/downloads/microsoft-Windows/tipps/usb-anschluss-farben-stecker-bedeutung-und-erklaerung/

Ensuite, l'appareil démarrera avec le script lpm ou le changement "Fastboot oem off-mode-charge 0". Une autre solution serait vraiment appréciée. Merci et à bientôt

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X