Interpretting Signal Level

christopher christopher at codeopoly.com
Thu Jan 29 06:08:28 EET 2009


Thanks for writing back, but I'm still unsure about how I should use  
your answer. I'll try to better describe what I meant.

In the current driver, the sm_drv.c file has the sm_monitor_rx()  
function which prepares the AVS header. In particular, it has this line:
"avs->ssi_signal = cpu_to_be32(hdr->rssi & 0x7f)"

Questions:
1. Is the rssi field in the hdr (for the current driver) the same as  
rcpi (in your upcoming driver)? In other words, I see in your new  
driver the stlc45xx_rx_data() function sets up status.signal and  
status.qual using rcpi. I want the same thing, but in the existing  
driver. I will simply use rssi and then do the .signal and .qual  
calculations in user space.


2. Upon receipt of the frame in my application and evaluation of the  
AVS header with the signal value, can I write something like:
int dBm_for_this_frame = header->ssi_signal / 2 - 110;
int qual_for_this_frame = header->ssi_signal * 100 / 140;


3. If that is reasonable, then I guess the ranges aren't clear to me  
yet. Is it fair to re-state your dBm ranges as this:
strong dBm: -50 and values greater (i.e., going towards 0)
good dBm: values between -51 and -75
weak dBm: anything smaller than -75

TIA!

Cheers,

Christopher


On Jan 28, 2009, at 1:13 PM, Kalle Valo wrote:

> "ext Christopher" <christopher at codeopoly.com> writes:
>
>> Hi:
>
> Hello,
>
>> I'm writing a program for the n810 that uses the cx3110 in monitor  
>> mode. In
>> the snapshot of the driver I have, sm_drv.c populates the  
>> ssi_signal field
>> in AVS header with the RSSI value. I am hoping someone may be able  
>> to point
>> me to a reference document or a code snippet that would allow me to  
>> better
>> understand two things:
>>
>> 1)      How should that raw RSSI be interpreted for display on a  
>> GUI in
>> terms of broad categories such as 'weak', 'good', and 'strong'? Are  
>> there
>> accepted ranges that can be translated for a user display? In other  
>> words,
>> I'd love to be able to replicate maemo's network selection dialog  
>> ("Select
>> connection") in my GUI.
>
> I don't remember the levels we use in our code. But from top of my
> head:
>
> strong <-50 dBm
> good -50 - -75 dBm
> weak -75> dBm
>
>> 2)      Is there a function for converting the RSSI from the cx3110  
>> (i.e.,
>> stlc4560 I guess for the 810) into dBm?
>
> stlc45xx converts rcpi like this:
>
> 	status.signal = data->rcpi / 2 - 110;
>
> I don't know if this is what you were asking.
>
> -- 
> Kalle Valo
>


More information about the cx3110x-devel mailing list