RF Level
gnokii supports different formats of displaying signal strength. Namely they are:
- GN_RF_Arbitrary
- GN_RF_dBm
- GN_RF_mV
- GN_RF_uV
- GN_RF_CSQ
- GN_RF_Percentage
But in fact just 3 of them are used. GN_RF_CSQ when AT driver is being used, GN_RF_Arbitrary for old Nokia drivers (nk3110, nk6100) and GN_RF_Percentage for all other.
GN_RF_CSQ
CSQ value is the return value from AT+CSQ command:
AT+CSQ +CSQ: 7,99
The first value denoted Signal Quality Measure (SQM, which is treated by gnokii as RFLevel). The second value is Bit Error Rate (BER). Both measurements are used to ascertain the relative quality of the received cellular signal.
The values of SQM should be interpreted in the following way (conversion to RSSI, Received Signal Strength Indicator in dBm, which would be an equivalent to GN_RF_dBm):
- 0: -113 or less
- 1: -111
- 2-30: -109 to -53
- 31: -51 or greater
- 99: not present or not measurable
[approximate RSSI (dBm) = (-113) + (2 * CSQ)]
The values of BER should be interpreted in the following way:
- 0: less than 0.2%
- 1: 0.2-0.4%
- 2: 0.4-0.8%
- 3: 0.8-1.6%
- 4: 1.6-3.2%
- 5: 3.2-6.4%
- 6: 6.4-12.8%
- 7: more than 12.8%
- 99: not known or not detectable
GN_RF_Arbitrary & GN_RF_Percentage
In FBUS mode Nokia uses its own representation. The value returned by the phone denoted level of the signal as indicated at the phone screen. The max value in this case depends on the phone series. For example in series40 you can get maximum level of 7 bars. Therefore value 7 of RF level (GN_RF_Arbitrary) translates into 100% signal (GN_RF_Percentage) although it may translate to different values in GN_RF_CSQ but is exactly matches what's visible on the phone screen. For example on my phone 7 or 100% is equivalent to CSQ=21 at the moment.
The same thing was made by Nokia to battery level indicators in FBUS protocol.