Bug 237 - Need to improve the way link quality is calculated
: Need to improve the way link quality is calculated
Status: VERIFIED FIXED
: IPW2200
__UNSPECIFIED__
: 0.18
: All All
: P1 normal
Assigned To:
:
:
:
:
:
  Show dependency treegraph
 
Reported: 2004-09-23 14:35 by
Modified: 2005-10-01 10:43 (History)


Attachments


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2004-09-23 14:35:15
This came from the bug scrub.

The way the driver currently determines link quality is that it bases the 
measurement on the whole interval since the link was started.

The side effect of that is that after you've received a lot of data, the 
reported quality level won't change even if the quality actually does. For 
example, if you are at 100% and you Rx 1Gb of data, and then move the laptop 
away from the AP to where quality should be lower, it won't drop.
------- Comment #1 From 2004-12-02 17:04:15 -------
*** Bug 422 has been marked as a duplicate of this bug. ***
------- Comment #2 From 2004-12-03 14:19:10 -------
Fixed in 0.16
------- Comment #3 From 2004-12-07 13:29:59 -------
0.16 changed the behaviour of link quality but it is still not right. In two
locations in my home I get 91% and 70% link quality when booted in Windows XP.
When I boot into FC3 fully updated, I see 100% in both locations. When I move
from the 91% location to the 70% location, 0.16 reports the link quality as 100%
then it drops down to 70% and stays there a few seconds and then it bounces back
to 100%.
------- Comment #4 From 2004-12-07 20:52:30 -------
i did this test too, and the Link Quality is always 100/100.
------- Comment #5 From 2004-12-08 09:36:34 -------
Untill enough packets have been recieved, we default the measured rate to the 
max rate, which makes the link quality max out.

Currently this threshold is 300 packets.
------- Comment #6 From 2004-12-09 00:24:10 -------
Fixed in 0.17
------- Comment #7 From 2004-12-10 18:25:49 -------
0.17 has changed the behaviour again. I started at a point in my house where I
get a 90% quality booted in Windows XP. 0.17 came up reporting 89%. Looking
good. I waited a few minutes and saw the quality start to drift down. It went
down to 74%. I then did some web surfing and the quality jumped back to 89%. I
next moved to within a few feet on my AP and did some more surfing. The quality
stayed at 89%. I then moved to a different location where Windows XP reports
quality as 70%. Again I did some surfing and then link quality was still 89%.
Link quality seems to be stuck on 89%.
------- Comment #8 From 2004-12-15 14:11:52 -------
Roaming booted to Windows XP produces link quality from 48% to 91%. Using 0.18,
I see the range 88% to 90%. This is not a fair comparison because link quality
is a driver dependent composite. Nevertheless, perhaps the signal strength
weight is low. This range seems compressed. 

I walked out of my house until I could no longer ping my AP. The link quality
stayed at 90%. When the signal was lost, the link quality finally went to zero.
I think the driver froze. It did not show a dis-association. ESSID and key
continued to be displayed by iwconfig. When I walked back into the house signal
strength stayed at 0. I had to rmmod/modprobe to get the driver going again.
------- Comment #9 From 2004-12-16 06:47:43 -------
Sending back to bug scrub.
------- Comment #10 From 2004-12-16 08:44:54 -------
Re-assigning to James, per bug scrub.
------- Comment #11 From 2004-12-16 09:00:13 -------
I did the following experiment four times, two with NetworkManager running and
two without. I started pinging my AP. I walked out of my living room where the
signal quality is 90% and started walking out my drive. The signal quality rose
to 97%. Shortly the signal quality dropped and began to oscillate. When I was
about 300 feet from the house the signal quality dropped suddenly from about 50%
to 0% and the pinging froze. I stayed in that spot for a minute and then slowly
started walking back to the house. Suddenly the signal quality jumped up to 60%
and the ping replies came back. I walked out of range and back in several times
and each time the pinging stopped and then started back. The driver never froze.
At the end of each experiment I checked for missed beacons and tx errors. There
were none. Here are the requested lines from iwconfig.

Link Quality=90/100  Signal level=-45 dBm  Noise level=-81 dBm
Link Quality=90/100  Signal level=-38 dBm  Noise level=-81 dBm
Link Quality=89/100  Signal level=-58 dBm  Noise level=-81 dBm
Link Quality=97/100  Signal level=-67 dBm  Noise level=-79 dBm
Link Quality=93/100  Signal level=-70 dBm  Noise level=-80 dBm
Link Quality=59/100  Signal level=-75 dBm  Noise level=-80 dBm
Link Quality=60/100  Signal level=-74 dBm  Noise level=-81 dBm
near disassociation point
Link Quality=72/100  Signal level=-78 dBm  Noise level=-79 dBm
Link Quality=53/100  Signal level=-81 dBm  Noise level=-80 dBm
Link Quality=90/100  Signal level=-78 dBm  Noise level=-81 dBm
Link Quality=60/100  Signal level=-79 dBm  Noise level=-62 dBm
Link Quality=69/100  Signal level=-79 dBm  Noise level=-75 dBm
Link Quality=61/100  Signal level=-80 dBm  Noise level=-78 dBm
Link Quality=56/100  Signal level=-82 dBm  Noise level=-84 dBm
Link Quality=70/100  Signal level=-79 dBm  Noise level=-83 dBm
Link Quality=61/100  Signal level=-79 dBm  Noise level=-81 dBm
Link Quality=63/100  Signal level=-80 dBm  Noise level=-82 dBm
Link Quality=57/100  Signal level=-80 dBm  Noise level=-83 dBm


------- Comment #12 From 2005-01-11 10:15:01 -------
Hi Bill,
James has again made changes to the way link quality is computed? Do you 
notice any change? Any improvements?
------- Comment #13 From 2005-01-11 10:15:37 -------
I forgot to mention the version I was referring to. It is 0.19.
------- Comment #14 From 2005-01-15 10:36:49 -------
The changes in 0.19 are a big improvement. Here is an experiment. I looked at
the signal quality as reported by iwconfig at four differeent distances from my
AP. Each test consisted of five rep's of the following -- 10 pings of the AP
followed by iwconfig. Here are the results.
Location 1: 80 -58 -82, 74 -58 -82, 85 -55 -81, 82 -56 -82, 85 -55 -82
Location 2: 45 -69 -81, 45 -70 -82, 45 -70 -82, 48 -68 -82, 45 -69 -82
Location 3: 20 -78 -81, 20 -78 -82, 20 -78 -81, 20 -78 -82, 25 -76 -82
Location 4: 5 -81 -83, 0  0  0, 0  0  0, 0  0  0, 0  0  0

After this experiment I sat in one place at did 'iwconfig eth1' about every 2 
seconds:
Link Quality=84/100  Signal level=-41 dBm  Noise level=-82 dBm
Link Quality=89/100  Signal level=-41 dBm  Noise level=-82 dBm
Link Quality=100/100  Signal level=-41 dBm  Noise level=-82 dBm
Link Quality=100/100  Signal level=-41 dBm  Noise level=-81 dBm
Link Quality=94/100  Signal level=-41 dBm  Noise level=-80 dBm
Link Quality=84/100  Signal level=-41 dBm  Noise level=-81 dBm
Link Quality=94/100  Signal level=-41 dBm  Noise level=-82 dBm
Link Quality=94/100  Signal level=-41 dBm  Noise level=-81 dBm
Link Quality=89/100  Signal level=-41 dBm  Noise level=-79 dBm
Link Quality=94/100  Signal level=-41 dBm  Noise level=-81 dBm
Link Quality=89/100  Signal level=-41 dBm  Noise level=-81 dBm
Link Quality=89/100  Signal level=-41 dBm  Noise level=-82 dBm
Link Quality=100/100  Signal level=-41 dBm  Noise level=-80 dBm
Link Quality=89/100  Signal level=-41 dBm  Noise level=-80 dBm
Link Quality=100/100  Signal level=-41 dBm  Noise level=-81 dBm

I have noticed that once you start the interface, it is going to stick on 'Link
Quality=100/100' until sufficient packets have passed through the interface.
This can be confusing until you understand it.  
------- Comment #15 From 2005-01-17 11:26:25 -------
Marking as fixed/verified, based on most recent comment.
------- Comment #16 From 2005-01-17 11:28:17 -------
Please re-open if there are more issues.