Date: Fri, 25 Nov 2011 10:25:05 +0100 From: Gustau Perez Querol <gperez@entel.upc.edu> To: <freebsd-wireless@freebsd.org> Subject: Big delays between an AR5416 AP and its clients Message-ID: <3d4d2d249836fafc6acd885693c02198@webmail.entel.upc.edu>
next in thread | raw e-mail | index | archive | help
This is the environment: I'm using an AR5416 card acting as an AP with hostap in 11g mode. I'm running g because I did not have time to test the 11n work yet. The box is running CURRENT/AMD64 as of Nov 22th. These are the symptoms: A few days ago I began to see very big delays between the AP and my laptop (which has an AR9287 with FreeBSD/AMD64 CURRENT). I tried a simple icmp with 1 second between pings. The curious thing is that delays increase from 30ms til 100ms (those times are in the same order of magnitude of a ping to google) and then they fall til 30ms again. It did not work like that before. I tested with different clients (an iPhone, a laptop running FreeBSD with an Intel 3945, an asus eeePC laptop with windows7 and other devices). All of them showed the same behavior. Further experiments showed me that the problem appears when any iPhone associates with the AP. As soon as the iPhone deassociates the other clients see no problems at all. ICMP messages get less than a ms to get replied (which are rtt I would expect). I'm pasting online at the end of the mail a simple icmp trace where you can see how it behaves. It shows increasing icmp rtt and then falling to usable time. Then it increases again. This is where I am now: I'm tracking kib's git repository (because I'm helping him as a tester and bug finder with his work with the GEM/KMS thing, that machine has a card giving us a lot of headaches) so I decided to do a bisect to find out which commit introduced the bug with the AR5416. Memory served me well and I could tell at the end of October it worked fine (we have two iphone at home and they worked fine), so it would be something introduced in November. The bisect lead me to r227364, which is one quite large. I took a look at the code, but I'm not used to the ath land. I ensured the previous one did well, with two iPhones there, 3 laptops (2 FreeBSD and one win7), a Wii and a multimedia wifi hard drive. It did well. Using the next commit triggered the problem. I have a custom r227364 compilation with ATH_DEBUG, AH_DEBUG and ATH_GSAPIA there. I also compiled athstat. However now I'm at $WORK and I can not test till this afternoon (I'm at +1UTC). I'll test with athstats the card's behaviour when the iPhone associates and post back to the list. I will take a look at the diff of this revision, but I'm not used to the ath|wireless code in the kernel, so I would say I will not find anything interesting. However I'll spend some time (4 eyes see more than two, they say). Any additional test or if you have any idea where the problem gets introduced so I can take at the code, please let me know. Gustau ****************************************************** bytes from 192.168.1.100: icmp_seq=15 ttl=64 time=0.946 ms 64 bytes from 192.168.1.100: icmp_seq=16 ttl=64 time=1.016 ms 64 bytes from 192.168.1.100: icmp_seq=17 ttl=64 time=1.011 ms 64 bytes from 192.168.1.100: icmp_seq=18 ttl=64 time=1.040 ms 64 bytes from 192.168.1.100: icmp_seq=19 ttl=64 time=0.779 ms 64 bytes from 192.168.1.100: icmp_seq=20 ttl=64 time=0.657 ms 64 bytes from 192.168.1.100: icmp_seq=21 ttl=64 time=0.945 ms 64 bytes from 192.168.1.100: icmp_seq=22 ttl=64 time=88.747 ms 64 bytes from 192.168.1.100: icmp_seq=23 ttl=64 time=109.538 ms 64 bytes from 192.168.1.100: icmp_seq=24 ttl=64 time=29.992 ms 64 bytes from 192.168.1.100: icmp_seq=25 ttl=64 time=0.978 ms 64 bytes from 192.168.1.100: icmp_seq=26 ttl=64 time=74.145 ms 64 bytes from 192.168.1.100: icmp_seq=27 ttl=64 time=97.230 ms 64 bytes from 192.168.1.100: icmp_seq=28 ttl=64 time=17.816 ms 64 bytes from 192.168.1.100: icmp_seq=29 ttl=64 time=41.417 ms 64 bytes from 192.168.1.100: icmp_seq=30 ttl=64 time=62.682 ms 64 bytes from 192.168.1.100: icmp_seq=31 ttl=64 time=84.579 ms 64 bytes from 192.168.1.100: icmp_seq=32 ttl=64 time=107.628 ms 64 bytes from 192.168.1.100: icmp_seq=33 ttl=64 time=27.328 ms 64 bytes from 192.168.1.100: icmp_seq=34 ttl=64 time=50.283 ms ******************************************************
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3d4d2d249836fafc6acd885693c02198>