Subject: | Signal strength is parsed incorrectly |
In the function signal_quality(), the module parses the result depending
on the amount of information it gets from the request.
There is a place where the function does a
if( $dBm =~ /\+CSQ:\s*(\d+)/ ) {
#block 1...
}elsif( $dBm =~ /\+CSQ:\s*(\d+),(\d+)/ ) {
#block 2...
}
It's obvious that block 2 will never be executed since pattern matching
is greedy. The fix would be to switch the two parts around so it tries
to match the more complex example first.