0 votos

¿Es posible desactivar completamente la señal de radio en un teléfono sin tarjeta SIM?

Tengo un Samsung Galaxy S4 Mini, alimentado por CyanogenMod 13 (Android Marshmallow 6.0.1) que utilizo sólo como Wi-Fi, ya que no tiene tarjeta SIM.

La antena del dispositivo, sin embargo, parece estar constantemente conectada a una torre de telefonía móvil, por lo que me temo que este hecho puede suponer un mayor consumo de batería (aunque sea leve, eso sí). Además, no quiero que se triangule mi posición debido a este comportamiento.

Simplemente marcando *#*#4636#*#* y desactivar la antena desde ahí parece ser suficiente, pero el cambio no persiste entre reinicios, y repetir todo el procedimiento cada vez es una molestia.

Lo que deseo es una forma de hacer que el cambio mencionado sea persistente, sin necesidad de una aplicación completa, que considero exagerada para una tarea tan sencilla . Incluso mejor, estoy a favor de una solución que haga uso del Terminal ya sea un solo comando o una función, y estoy abierto a soluciones que requieran Acceso a root .

¿Existe una forma de lograrlo?

1voto

A partir de ahora, he encontrado una manera de lograr lo que pide la pregunta. Esta solución ha sido probada en CyanogenMod 12.1 y 13 .


Desde la Terminal

Desactivación del RIL

Si la operación no se va a realizar con frecuencia, bastará con una sola línea de código:

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

. Esto hará que el teléfono ignore el Capa de interfaz de radio ignorando así la presencia de la antena. Se requiere un reinicio para que el cambio tenga efecto, y persistirá a través de los reinicios.

Además, desactivar el RIL también hace que el " Sin tarjeta SIM icono se desvanece.

Habilitación del RIL

Habilitar de nuevo el RIL es sólo cuestión de banderas. Como se puede ver en el siguiente ejemplo:

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

el comando es equivalente, salvo por un 0 en lugar de un 1 . Como antes, es necesario reiniciar.


Como función personalizada

También he ideado dos funciones que se añaden al /system/etc/mkshrc archivo. Por supuesto, suele ser necesario volver a montar el /sistema como lectura-escritura, pero el procedimiento no será cubierto en esta respuesta.

Este archivo se encarga de varias variables de entorno y alias que serán cargados por la Terminal una vez que se inicie, por lo que se desaconseja manipularlo. Podemos, sin embargo, añadir nuestras funciones y personalizaciones personales justo antes de la línea que dice:

: place customisations above this line

. Me gustaría recordar que : es un shell especial incorporado y, por lo tanto, hay que dejarla intacta.

Desactivación del RIL

Aquí, vamos a definir una función personalizada radiooff que luego se podrá llamar desde la Terminal a voluntad. El código es el siguiente:

# 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
}

. Me gustaría recordar que es vital colocar este código en la parte inferior del archivo, pero por encima de la línea mencionada al principio de esta sección.

Habilitar RIL

Esta función, como se explica en los comentarios, es la inversa de la función radiooff función:

# 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
}

. Al guardar las modificaciones, las funciones radioon y radiooff estará disponible para su uso después de que CyanogenMod Terminal la aplicación se inicia, o se reinicia. El procedimiento para utilizarlas consiste simplemente en introducir el nombre de la función necesaria y pulsar "Enter".

Puede resultar obvio, pero la segunda solución no funcionará si el usuario utiliza un Terminal que no es el de CyanogenMod.

0voto

mattm Puntos 139

Utiliza el modo avión para desactivar la radio celular. Esto es simple y no requiere una aplicación, el uso de un terminal, o el acceso Root.

0 votos

Por supuesto que funcionará, pero entonces tendría que encender manualmente el Wi-Fi, ¿no?

0 votos

Acabo de probarlo para asegurarme: sólo con activar el modo avión se queda el Sin tarjeta SIM en la barra de notificaciones, así como, obviamente, colocar el Avión icono. Seguro que funciona, pero tiene sus inconvenientes. Gracias por responder.

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X