Como posso entender as diferentes saídas de nível de sinal do wpa_supplicant?

4

Estou usando o wpa_supplicant 2.0 no Linux x64 com um adaptador wi-fi USB (rtl8192cu).

Quando faço uma varredura de wpa_cli, obtenho números muito diferentes (alternando entre positivo e negativo) até mesmo para o mesmo ponto de acesso sem mover nada. Eu estou tentando mostrar esses dados para o usuário em uma interface gráfica, por isso preciso estar em um formato consistente, de preferência algo que eu possa finalmente converter para uma porcentagem com.

Por exemplo, SSID "one" às vezes tem um nível de sinal de cerca de -40 e, às vezes, é apenas o número 10. Mesmo que esteja emitindo consistentemente números dBm (negativos) consistentes, não faço ideia de qual é a escala Neste caso, como cada sistema operacional / aplicativo parece lidar com isso de forma um pouco diferente. Alguns documentos na web sugerem valores válidos de -50 a -100, alguns dizem algo totalmente diferente e alguns compõem seus próprios números. Aqui nem parece seguir nenhum padrão:

bssid / frequency / signal level / flags / ssid
XX:XX:XX:XX:XX:01       2437    -38     [WPA2-PSK-CCMP][WPS][ESS]       one
XX:XX:XX:XX:XX:02       2427    -38     [ESS]   \x00\x00\x00\x00\x00\x00\x00

bssid / frequency / signal level / flags / ssid
02:00:00:00:01:01       2437    10      [WPA2-PSK-CCMP][ESS]    two
02:00:00:00:00:01       2437    10      [WPA2-PSK-CCMP][ESS]    three
XX:XX:XX:XX:XX:01       2437    10      [WPA2-PSK-CCMP][WPS][ESS]       one
XX:XX:XX:XX:XX:02       2427    -39     [ESS]   \x00\x00\x00\x00\x00\x00\x00

bssid / frequency / signal level / flags / ssid
02:00:00:00:01:01       2437    10      [WPA2-PSK-CCMP][ESS]    two
02:00:00:00:00:01       2437    -40     [WPA2-PSK-CCMP][ESS]    three
XX:XX:XX:XX:XX:01       2437    10      [WPA2-PSK-CCMP][WPS][ESS]       one
XX:XX:XX:XX:XX:02       2427    -39     [ESS]   \x00\x00\x00\x00\x00\x00\x00

bssid / frequency / signal level / flags / ssid
02:00:00:00:01:01       2437    10      [WPA2-PSK-CCMP][ESS]    two
02:00:00:00:00:01       2437    10      [WPA2-PSK-CCMP][ESS]    three
XX:XX:XX:XX:XX:01       2437    -42     [WPA2-PSK-CCMP][WPS][ESS]       one
XX:XX:XX:XX:XX:02       2427    -41     [ESS]   \x00\x00\x00\x00\x00\x00\x00

bssid / frequency / signal level / flags / ssid
02:00:00:00:01:01       2437    10      [WPA2-PSK-CCMP][ESS]    two
02:00:00:00:00:01       2437    10      [WPA2-PSK-CCMP][ESS]    three
XX:XX:XX:XX:XX:01       2437    10      [WPA2-PSK-CCMP][WPS][ESS]       one
XX:XX:XX:XX:XX:02       2427    -41     [ESS]   \x00\x00\x00\x00\x00\x00\x00

Existe uma maneira de converter esses níveis de sinal em uma escala consistente que eu possa apresentar ao usuário?

Além disso, se o usuário usar um adaptador / driver wi-fi diferente, o nível do sinal estará em um formato diferente do qual preciso me preocupar?

    
por bparker 31.10.2013 / 06:14

1 resposta

2

Acredito que o nível do sinal esteja em decibel (dBm) .

trecho

dBm (sometimes dBmW) is an abbreviation for the power ratio in decibels (dB) of the measured power referenced to one milliwatt (mW). It is used in radio, microwave and fiber optic networks as a convenient measure of absolute power because of its capability to express both very large and very small values in a short form. Compare dBW, which is referenced to one watt (1000 mW).

Since it is referenced to the watt, it is an absolute unit, used when measuring absolute power. By comparison, the decibel (dB) is a dimensionless unit, used for quantifying the ratio between two values, such as signal-to-noise ratio.

A potência absoluta de um sinal é medida em watts. Decibéis ( dB ) são relativos, eles só podem dizer a diferença entre agora e a última leitura. Observe também que é uma escala logarítmica. O m em dBm nos diz que nossa escala é relativa a 1 miliWatt de energia. 0 dBm = 1 mW.

trecho

The reason you see negative values is that you're representing small but positive numbers, on a logarithmic scale. In logarithms, the value indicated represents an exponent... for example, under a log 10 scale, a value of -2 represents 10 to the -2 power, which equals 0.01. Likewise, a negative dBm means that you're applying a negative exponent in your power calculations; 0 dBm equals 1 mW of power, so -10 dBm equates to 0.1 mW, -20 dBm equates to 0.01 mW, and so forth. It's a lot easier, and more useful in some calculations, to describe a weak signal as -100 dBm as opposed to 0.0000000001 mW.

fonte: link

Em termos de como exibir o nível do sinal, é apenas uma linha numérica de valores, eu estaria inclinado a mostrar esse valor normalizado em alguma escala de 0-100. Lembre-se de que os valores são assim desde que são logarítmicos:

-99 -98 -97 ... -2 -1 0 +1 +2 +3 ...

Just like anything else involving such a scale, -1 is greater (louder) than -99.

fonte: link

EDIT # 1

Follow-up Q's do OP.

1 - I don't know the scale for the negative numbers, but I'm pretty sure it's not -100 to 0, and every website I read says the scale is different (e.g. -50 to -100, -30 to -80, etc.) so I need to know the correct scale in this case, and whether or not it changes between drivers.

Os números negativos são uma escala logarítmica. Eles são sem unidade. Os números não são limitados - 100% são negativos a positivos. A razão pela qual eles usam uma escala logarítmica é dizimar o número para que ele não mude tão drasticamente de um momento para o outro. Os números que estão representando podem variar muito, e são diferenças de ordem de grandeza nos valores que eles podem ter, portanto, os logs são usados.

O uso de dBm significa que os valores são baseados em 1 mili-watt. Esse seria o valor 0 na escala

2 - I need to know why the numbers are sometimes positive (so far I've only seen +10)... since if it's being measured in dBm, positive numbers make no sense to me (it makes me think it's actually a bug).

Definitivamente não é um bug. Os valores, desde logarítmicos, podem ser negativos a positivos. É como representar um número "1/10" como "1 * 10 ^ -1". Observe o "-1" na 2ª forma?

Veja o recurso a seguir, que deve ajudá-lo a entender como realizar os cálculos, o que o levará a entender o que está acontecendo com esses valores.

por 31.10.2013 / 06:52

Tags