0 votes

Est-il possible de désactiver complètement le signal radio dans un téléphone sans carte SIM ?

J'ai un Samsung Galaxy S4 Mini, alimenté par CyanogenMod 13 (Android Marshmallow 6.0.1) que j'utilise uniquement en Wi-Fi, étant donné qu'il n'y a pas de carte SIM.

Cependant, l'antenne de l'appareil semble être constamment connectée à une tour cellulaire, et je crains que cela n'entraîne une augmentation de la consommation de la batterie (même si elle est minime). De plus, je ne veux pas que ma position soit triangulée à cause de ce comportement.

Il suffit de composer le numéro *#*#4636#*#* et désactiver l'antenne à partir de là semble suffire, mais le changement ne persiste pas entre les redémarrages, et répéter toute la procédure à chaque fois est une nuisance.

Ce que je souhaite, c'est un moyen de rendre le changement susmentionné persistant, sans avoir besoin d'une application complète, ce que je considère comme exagéré pour une tâche aussi simple. . Mieux encore, je privilégie une solution qui fait appel à la fonction intégrée de la Terminal qu'il s'agisse d'une commande unique ou d'une fonction, et je suis ouvert à des solutions qui requièrent Accès à la racine .

Existe-t-il un moyen d'y parvenir ?

1voto

Grimoire Points 2908

Pour l'instant, j'ai trouvé un moyen d'accomplir ce que la question demande. Cette solution a été testée sur CyanogenMod 12.1 et 13 .


Depuis le terminal

Désactiver le RIL

Si l'opération ne doit pas être effectuée fréquemment, une seule ligne de code suffira :

su -c "setprop persist.radio.noril 1"

. Ainsi, le téléphone ignorera le Couche d'interface radio , ignorant ainsi la présence de l'antenne. Un redémarrage est nécessaire pour que le changement soit effectif, et il persistera à travers les redémarrages.

De plus, la désactivation du RIL rend le " Pas de carte SIM l'icône disparaît.

Permettre le RIL

Rendre le RIL à nouveau opérationnel n'est qu'une question de drapeaux. Comme on peut le voir dans l'exemple ci-dessous :

su -c "setprop persist.radio.noril 0"

la commande est équivalente, à l'exception d'un 0 au lieu d'un 1 . Comme précédemment, un redémarrage est nécessaire.


En tant que fonction personnalisée

J'ai également conçu deux fonctions à ajouter à la fonction /system/etc/mkshrc fichier. Bien sûr, il est généralement nécessaire de remonter le fichier /système en lecture-écriture, mais cette procédure ne sera pas abordée dans cette réponse.

Ce fichier s'occupe de diverses variables d'environnement et d'alias à charger par le terminal une fois qu'il est lancé, aussi est-il déconseillé de le manipuler. Nous pouvons cependant ajouter nos fonctions personnelles et nos personnalisations juste avant la ligne qui dit :

: place customisations above this line

. Je tiens à rappeler que : est un module spécial de l'interpréteur de commandes et doivent donc être laissés intacts.

Désactiver le RIL

Ici, nous allons définir une fonction personnalisée radiooff qui pourra ensuite être appelé à volonté depuis le terminal. Le code est le suivant :

# This function detaches a device from the cellular network
# Upon execution, a reboot must be performed
function radiooff {
 if [ "$(whoami)" != "root" ]; then
  echo "Error: must be executed as root."
  return 1
 fi

 if [ "$(getprop persist.radio.noril)" == "1" ]; then
  echo "Radio is already disabled."
  return 1
 fi

 setprop persist.radio.noril 1

 if [ "$(getprop persist.radio.noril)" == "1" ]; then
  echo "Radio is now disabled. Please reboot."
  return 0
 else
  echo "Error: unable to disable radio."
  return 1
 fi
}

. Je rappelle qu'il est indispensable de placer ce code en bas du fichier, mais au-dessus de la ligne mentionnée au début de cette section.

Activer le RIL

Cette fonction, comme l'expliquent les commentaires, est l'inverse de la fonction radiooff fonction :

# This function connects a device back on the cellular network
# Upon execution, a reboot must be performed
function radioon {
 if [ "$(whoami)" != "root" ]; then
  echo "Error: must be executed as root."
  return 1
 fi

 if [ "$(getprop persist.radio.noril)" == "0" ]; then
  echo "Radio is already enabled."
  return 1
 fi

 setprop persist.radio.noril 0

 if [ "$(getprop persist.radio.noril)" == "0" ]; then
  echo "Radio is now enabled. Please reboot."
  return 0
 else
  echo "Error: unable to enable radio."
  return 1
 fi
}

. Lors de la sauvegarde des modifications, les fonctions radioon y radiooff sera disponible après la mise à jour de CyanogenMod Terminal l'application est lancée ou redémarrée. Pour les utiliser, il suffit de saisir le nom de la fonction nécessaire et d'entrer.

Cela peut paraître évident, mais la deuxième solution ne fonctionnera pas si l'utilisateur utilise un Terminal qui n'est pas celui de CyanogenMod.

0voto

mattm Points 4120

Utilisez le mode avion pour désactiver la radio cellulaire. Cette opération est simple et ne nécessite pas d'application, d'utilisation de terminal ou d'accès Root.

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