4 votes

Comment désactiver le RIL sur Android ?

Dès que je connecte un modem USB à un appareil Android, le système saisit ttyACM0 et ttyACM1 pour tenter d'ouvrir la connexion. En conséquence, les ports sont bloqués et ne peuvent pas être ouverts par d'autres services. Comment, si possible, puis-je désactiver le RIL sur Android pour éviter qu'il ne bloque ttyACM0 et ttyACM1 dès que le modem est branché ? Est-ce possible sans avoir à reconstruire Android ?

J'ai essayé d'effectuer les changements suivants dans init.rc, ainsi que de supprimer l'entrée du service ril-deamon.

setprop ro.radio.noril yes
setprop hw.nophone true

3voto

not2qubit Points 817

Les conséquences de la désactivation du démon RIL ( rild ) dépend du matériel. Parce que RIL est de plus en plus impliqué dans tous les aspects de la radio, y compris le WiFi. Le moyen le plus simple d'arrêter RIL est de tuer rild . Mais vous devez avoir un appareil enraciné pour le faire. Ouvrez un shell de commande et obtenez l'invite Root ( # ).

# kill -9 `pidof rild`

Vous pouvez ensuite vérifier l'état actuel avec :

# getprop |grep init.svc.ril
...
[init.svc.ril-daemon]: [stopped]
[init.svc.ril-qmi]: [stopped]

Pour redémarrer rild vous devez le diriger vers les bons fichiers de périphérique et de bibliothèque. Vous pouvez trouver ces fichiers avec :

# getprop | grep rild.lib
...
[rild.libargs]: [-d /dev/smd0]
[rild.libpath]: [/system/lib/libril-qc-qmi-1.so]

Puis recommencez avec* :

# rild -l /system/lib/libril-qc-qmi-1.so -- -d /dev/smd0 

* <strong>PS. </strong>Je n'ai pas encore essayé cette ligne, alors n'hésitez pas à modifier cet article. Il est possible que vous ayez aussi besoin de fournir le bon code <em>SE </em>le contexte pour <em>SU </em>aussi...

3voto

yurenchen Points 131

1. comment arrêter la rild

note : testé sur Android 4.4

essai1

kill -9 `pidof rild`

cela démarrera automatiquement un nouveau rild

essayer2

stop service rild

ne fonctionne pas pour moi.

essai3

stop ril-daemon

cela a marché, je l'ai trouvé sur /etc/init.rc :

on property:ril.reset.rild=1
    stop ril-daemon
    start ril-daemon
    setprop ril.reset.rild 0

//Ainsi setprop ril.reset.rild 1 peut redémarrer Rild aussi.

à propos du nom du service

service ril-daemon /system/bin/rild ...

a trouvé cette ligne dans init.rc peut-être que cela définit le nom du service mentionné dans try3

2. répondre à la question

peut-être que vous pouvez imiter la configuration dans try3 ajoutez cette ligne de configuration.

on property:ro.radio.noril=yes
    stop ril-daemon

1voto

abs Points 91

Tuer le démon n'est pas la bonne méthode, bien que cela tue le service mais vous ne pourrez plus y accéder. Tapez stop service rild sur adb shell et cela fonctionnerait à nouveau correctement pour les autres services. Vous pouvez vérifier en tapant ps si le processus rild est là ou pas. J'ai travaillé sur ce sujet il y a quelques jours.

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