bugfix: Signal levels do not show up on "new extended" RF Channels

Switch to iw over iwinfo because it handles the new channels better.

Partially reverts changeset:808a8d5019fce4a7ca2c027ea7838d43c6d8cad0/aredn_ar71xx

fixes AREDN->ticket:129
This commit is contained in:
Conrad Lara - KG6JEI 2015-06-30 00:05:45 -07:00
parent 4816a47751
commit 39729157c6
1 changed files with 12 additions and 5 deletions

View File

@ -600,11 +600,18 @@ sub get_wifi_signal
chomp $wifiintf;
my ($SignalLevel) = "N/A";
my ($NoiseFloor) = "N/A";
foreach(`iwinfo $wifiintf info`)
{
next unless /.*Signal: ([\d\-]+) dBm.*Noise: ([\d\-]+) dBm/;
$SignalLevel=$1;
$NoiseFloor=$2;
foreach(`iw dev $wifiintf station dump`)
{
next unless /.+signal:\s+([-]?[\d]+)/;
if ( $SignalLevel <= "$1" || $SignalLevel == "N/A" )
{
$SignalLevel=$1;
}
}
foreach(`iw dev $wifiintf survey dump|grep -A 1 \"\\[in use\\]\"`)
{
next unless /([\d\-]+) dBm/;
$NoiseFloor=$1;
}
if ( $SignalLevel == "N/A" || $NoiseFloor == "N/A" )