2 votos

obtener cellinfo con adb shell

Acabo de instalar adb y estoy tratando de recuperar información sobre la torre celular a la que está conectado mi teléfono. Mi teléfono es un Samsung Galaxy Trend Lite con sistema operativo Jelly Bean (4.1.2). He rooteado el teléfono y estoy usando el adb shell como superusuario.

Intenté usar dumpsys telephony.registry de la cáscara, lo que me dio una cellInfo pero es igual a null .

Me gustaría recuperar una cadena con información como MCC , MNC , LAC y CID posiblemente. ¿Es esto factible? ¿Es esta la forma correcta o hay otra mejor?

ACTUALIZACIÓN 1

Como sugiere @xavier_fakerat Abrí un terminal en ubuntu y escribí adb logcat | grep -E 'MCC|MNC' . Sin embargo, he recibido el siguiente mensaje que no me parece útil (tal vez me equivoque...)

I/SA ( 2688): [OR] onReceive log=[SA = 1.6.0125 V = 16 HWD = 800X480 1.5 dpi = 240 SIZE = 2 LOCALE = it_IT CSC = ITV MCC = 0 MNC 0 T = user DEVICE = kylevess P = kylevessxx I = JZO54K M = GT-S7390 OKLEFT false DIS JZO54K.S7390XXUAOI1 PSS = 3.979127307850313 ]

ACTUALIZACIÓN 2

También probé la sugerencia de @Ali Said y pude conseguir el cid Aunque la salida a veces es igual a 0, a veces es 68. Hice la segunda opción que propuso

adb logcat -b radio | grep "cid"

y recibió muchas filas como

D/RIL     ( 1391): RIL:[AP][RPC EN] msgid=0x413a str=MSG_MS_GET_ELEMENT_REQ tid 472 cid 68

o

D/RIL     ( 1391): RIL:[AP][RPC DE] msgid=0x204 str=MSG_RSSI_IND tid 0 cid 0

Así que ahora creo que me queda encontrar el LAC sólo código. Sin embargo, ninguna de las soluciones hasta ahora me permitía recuperar toda la información que buscaba al mismo tiempo. Además, la opción 1 de @Ali Said ( adb logcat -b radio | grep ": +CREG:" ) parece lo que realmente necesito, pero no sale nada. Tal vez sea una cuestión de la +CREG (si es que es un comando AT por lo que puedo entender), que no es soportado por mi teléfono. Sólo una suposición, me fui muy lejos para mis posibilidades, pero estoy bastante seguro de que me estoy acercando a la solución...

Por último, la salida de adb logcat -b radio | grep "MCC" es

D/RIL ( 1391): GetSamsungPLMNname:: GetSamsungPLMNname :: deci MCC=222, MNC=88

mientras que aquí hay un enlace al logcat de la información del cid. Espero que esto pueda ser de interés si alguien quiere ayudarme.

3voto

Ali Said Puntos 11

Ambas cosas me han funcionado:

Opción 1: comando grep AT para la información de la célula

$> adb logcat -b radio | grep ": +CREG:" 
D/AT      (  873): +CREG: 2,1,"2444","0FA2A694",6
D/AT      (  873): +CREG: 2,1,"2444","0FA2A694",6
D/AT      (  873): +CREG: 2,1,"2444","0FA2A694",6

[1] el teléfono está registrado en la red [2444] hex : Código de área de localización (LAC) [0FA2A694] hex : Id. de celda (cid).

Opción 2 El sistema de gestión de la calidad de la información es el siguiente: puede grep "cid" de logact -b radio debe obtener esto. tenga en cuenta que es decimal esta vez.

$> adb logcat -b radio | grep "cid"
D/use-Rlog/RLOG-RIL( 9193): cid: 262317716
D/use-Rlog/RLOG-RIL( 9193): cid: 262317716
D/use-Rlog/RLOG-RIL( 9193): cid: 262317716

La opción 1 es mi preferencia personal. Espero que esto ayude.

0 votos

Así que probé ambas opciones. La opción 1 no imprimió nada. La opción 2 en cambio es un poco diferente a su salida. Muestra muchas líneas diferentes y a veces cellid es 0 y otras es 68. Así que supongo que ahora puedo obtener tanto el MNN, MNC y CELLID pero todavía necesitaría LAC para obtener la ubicación de mi teléfono con (por ejemplo) Google geolocalización API. Voy a actualizar mi pregunta a esta última actualización y posiblemente incluir una parte de la salida que estoy recibiendo de logcat .

1 votos

Olvidé mencionar que esos logcat son para KitKat ... si estás tras una versión más nueva usa esto adb logcat -b radio | grep -e "< VOICE_REGISTRATION_STATE" -e "< DATA_REGISTRATION_STATE" 03-31 16:25:06. 619 2727 2966 D RILJ : [2823]< DATA_REGISTRATION_STATE {1, fffe, 0032d102, 14, null, 4, 0x29e1, null, 0x0032d102, null, null, 0} [SUB0] fffe : es LAC en hexadecimal 0032d102 : cell Id en hexadecimal

0 votos

Hola, perdón por el retraso en la respuesta. Lo he probado y ha funcionado (aunque estoy usando una versión más antigua que es jelly bean). Así que, si te sientes a actualizar su respuesta con su último comentario, estaré encantado de aceptarlo! gracias de nuevo!

1voto

xavier_fakerat Puntos 1

Puede que tengas que usar adb logcat y filtrar usando grep. Pruebe esto

adb logcat | grep -E 'MCC|MNC'

Créditos

  1. Obtención de la identificación de la célula a través de adb

0 votos

Gracias. Lo he intentado. abriendo un terminal en ubuntu he escrito adb logcat | grep -E 'MCC|MNC' pero he recibido I/SA ( 2688): [OR] onReceive log=[SA = 1.6.0125 V = 16 HWD = 800X480 1.5 dpi = 240 SIZE = 2 LOCALE = it_IT CSC = ITV MCC = 0 MNC 0 T = user DEVICE = kylevess P = kylevessxx I = JZO54K M = GT-S7390 OKLEFT false DIS JZO54K.S7390XXUAOI1 PSS = 3.979127307850313 ] . He actualizado mi pregunta para incluir esto.

0 votos

Algo está mal con la tarjeta SIM, no devuelve ningún valor de MNC y MCC, los otros valores se extraen de la información de logcat, y podría no parecer útil, pero si estamos después de la información de la célula, a continuación, MCC y MNC debe ser el foco, sin embargo, para mi sorpresa, sigue devolviendo valores nulos. ¿Está la red bloqueada?

0 votos

Gracias de nuevo. ¿A qué te refieres con "está bloqueada la red"? Mi SIM es de Wind, yo soy de Italia. Si puedes sugerirme cómo puedo comprobar si la red está efectivamente bloqueada y, posiblemente, si hay una manera de desbloquearla (si esto probablemente solucionaría el problema) te estaré muy agradecido. De todos modos, ¡realmente aprecio su ayuda!

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