Bugzilla – Bug 237
Need to improve the way link quality is calculated
Last modified: 2005-10-01 10:43:14
You need to log in before you can comment on or make changes to this bug.
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.
*** Bug 422 has been marked as a duplicate of this bug. ***
Fixed in 0.16
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%.
i did this test too, and the Link Quality is always 100/100.
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.
Fixed in 0.17
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%.
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.
Sending back to bug scrub.
Re-assigning to James, per bug scrub.
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
Hi Bill, James has again made changes to the way link quality is computed? Do you notice any change? Any improvements?
I forgot to mention the version I was referring to. It is 0.19.
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.
Marking as fixed/verified, based on most recent comment.
Please re-open if there are more issues.