androidandroid-emulatorat-commandril

RIL logs regarding signal strength


When i run the android emulator i get this as radio logs for signal strength:

D/RIL     (   32): onRequest: SIGNAL_STRENGTH

D/AT      (   32): AT> AT+CSQ

D/AT      (   32): AT< +CSQ: 7,99

D/AT      (   32): AT< OK
E/RILC    (   32): invalid response length
D/RILJ    (  216): [0062]< SIGNAL_STRENGTH error: com.android.internal.telephony.CommandException: INVALID_RESPONSE

Can someone please tell me why the following response appears?

E/RILC    (   32): invalid response length

D/RILJ    (  216): [0062]< SIGNAL_STRENGTH error: com.android.internal.telephony.CommandException: INVALID_RESPONSE

Since the AT commands and its response is fine.


Solution

  • I solved the problem. In case any one else in the future has the same problem heres the solution:

    When i query the modem with AT command for signal strength it sent back 2 integer values.

    Check the ril.cpp file, in the function responseRilSignalStrength, the implementation is for the new ril. The ril i used was the old one.

    Therefore, the reference-ril reports signal strength as 2 integers. This is marked as deprecated in responseRilSignalStrength() in libril/ril.cpp of the version 2 sources, and this part has just been removed in the ics source. When I put it back in, the error disappeared.

    I found this answer from https://groups.google.com/forum/?fromgroups=#!topic/android-x86/zEPIfsQAuYg