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.