Am 09.05.2014 00:57, schrieb Aaron Hamilton:
> Did further testing and we still seem to have issues with clients
> connecting. Here's our scenario:
> 
> ** Problem 1 - Extreme Latency **
> 
> 1) Connect a Panasonic Toughbook laptop to the WiFi AP. Connection
> appears to come up without any issues. We initiate ongoing pings to
> the computer from the AP with consistent 3ms to 10ms responses.
> 
> 2) Connect an embedded device to the AP (dnsmasq reports vendor class
> udhcp 1.18.5). When we initiate pings from the AP to the device,
> responses take between 500ms and 1000ms.
> 
> We then powered down both client devices and reconnected only the
> embedded client. This time the pings started at 32ms and increased in
> latency for every subsequent ping. The following is a capture from the
> AP. It appears as though each subsequent ping is further delayed by
> approximately 20ms. During this time, only the one client is
> connected. Also, the only traffic coming across the interface are
> pings, which leads me to believe this is not a bandwidth problem.

I'm 100% sure, it is about bandwidth.
Right now i did test with one AP (ath9k_htc) + 2 STAs.
AR9271 adapter is connected to USB 2.0 in high speed mode.

Ping test:
- both STAs provide stable PING with ~2ms if they are in one room.
- After one STA was moved behind two walls it got less stable ping which
was variating 2-100ms.

Bench test:
- Each STA run two stream netperf. AP is in HT20 since there is another
AP with HT40 in same room.
- The STA behind two walls had almost no chance. It got some 100KB/s
- The closest STA had about 4MB/s

Well, for this kind of device it is acceptable:
https://wikidevi.com/wiki/ThinkPenguin_TPE-N150USB

> # ping 192.168.2.192
> PING 192.168.2.192 (192.168.2.192): 56 data bytes
> 64 bytes from 192.168.2.192: seq=32 ttl=64 time=32.043 ms
> 64 bytes from 192.168.2.192: seq=33 ttl=64 time=155.090 ms
> 64 bytes from 192.168.2.192: seq=34 ttl=64 time=1013.031 ms
> 64 bytes from 192.168.2.192: seq=35 ttl=64 time=21.302 ms
> 64 bytes from 192.168.2.192: seq=36 ttl=64 time=6.622 ms
> 64 bytes from 192.168.2.192: seq=37 ttl=64 time=8.240 ms
> 64 bytes from 192.168.2.192: seq=38 ttl=64 time=79.743 ms
> 64 bytes from 192.168.2.192: seq=39 ttl=64 time=103.089 ms
> 64 bytes from 192.168.2.192: seq=40 ttl=64 time=121.613 ms
> 64 bytes from 192.168.2.192: seq=41 ttl=64 time=143.677 ms
> 64 bytes from 192.168.2.192: seq=42 ttl=64 time=167.053 ms
> 64 bytes from 192.168.2.192: seq=43 ttl=64 time=190.735 ms
> 64 bytes from 192.168.2.192: seq=44 ttl=64 time=215.027 ms
> 64 bytes from 192.168.2.192: seq=45 ttl=64 time=236.206 ms
> 64 bytes from 192.168.2.192: seq=46 ttl=64 time=259.461 ms
> 64 bytes from 192.168.2.192: seq=47 ttl=64 time=283.142 ms
> 64 bytes from 192.168.2.192: seq=48 ttl=64 time=302.704 ms
> 64 bytes from 192.168.2.192: seq=49 ttl=64 time=325.379 ms
> 64 bytes from 192.168.2.192: seq=50 ttl=64 time=364.105 ms
> 64 bytes from 192.168.2.192: seq=51 ttl=64 time=372.955 ms
> 64 bytes from 192.168.2.192: seq=52 ttl=64 time=394.073 ms
> 64 bytes from 192.168.2.192: seq=53 ttl=64 time=433.075 ms
> 64 bytes from 192.168.2.192: seq=54 ttl=64 time=436.615 ms
> 64 bytes from 192.168.2.192: seq=55 ttl=64 time=462.372 ms
> 64 bytes from 192.168.2.192: seq=56 ttl=64 time=484.283 ms
> 64 bytes from 192.168.2.192: seq=57 ttl=64 time=510.132 ms
> 64 bytes from 192.168.2.192: seq=58 ttl=64 time=534.637 ms
> 64 bytes from 192.168.2.192: seq=59 ttl=64 time=552.154 ms
> 64 bytes from 192.168.2.192: seq=60 ttl=64 time=571.411 ms
> 64 bytes from 192.168.2.192: seq=61 ttl=64 time=594.605 ms
> 64 bytes from 192.168.2.192: seq=62 ttl=64 time=616.638 ms
> 64 bytes from 192.168.2.192: seq=63 ttl=64 time=535.492 ms
> 64 bytes from 192.168.2.192: seq=64 ttl=64 time=661.377 ms
> 64 bytes from 192.168.2.192: seq=65 ttl=64 time=685.821 ms
> 64 bytes from 192.168.2.192: seq=66 ttl=64 time=708.862 ms
> ^C
> --- 192.168.2.192 ping statistics ---
> 68 packets transmitted, 35 packets received, 48% packet loss
> round-trip min/avg/max = 6.622/359.507/1013.031 ms
> #

I would expect this kind of behaviour with high packet loss.

> ** Problem 2 - Total Loss of Connectivity **
> 
> Another issue we have is that WiFi clients loose their ability to
> connect to the AP after a period of time. I have remote access into an
> AP currently exhibiting this behavior. Here's what we're seeing:
> 
> 1) WiFi beacon is being broadcast and is visible to clients
> 
> 2) Client connection attempt fails and nothing appears in log
> indicating an attempt is made. Typically we would at least see
> association/authentication messages in the syslog.
>
> 3) Nothing unusual is reported by dmesg
> 
> 4) If hostapd is restarted, connections will come back up
>
> Any ideas?  Is there anything I can gather from debugfs or other means?

Firmware is defiantly not oopsed.
In some cases i noticed that firmware was not able to provide
notification about send or field TX packets because
 event queue was full. With slow usb i would assume that this queue will
often make some problems. But kernel driver was able to recover
connection even in this case. So, i don't think it will stall forever.

You can try to add "disassoc_low_ack=1" to hostapd.conf which may be
will refresh some stalled connections.

Other idea is to disbale ani. Try this workaround:

diff --git a/drivers/net/wireless/ath/ath9k/htc_drv_main.c
b/drivers/net/wireless/ath/ath9k/htc_drv_main.c
index f46cd02..e89f85c 100644
--- a/drivers/net/wireless/ath/ath9k/htc_drv_main.c
+++ b/drivers/net/wireless/ath/ath9k/htc_drv_main.c
@@ -744,6 +744,8 @@ void ath9k_htc_start_ani(struct ath9k_htc_priv *priv)
        struct ath_common *common = ath9k_hw_common(priv->ah);
        unsigned long timestamp = jiffies_to_msecs(jiffies);

+       return;
+
        common->ani.longcal_timer = timestamp;
        common->ani.shortcal_timer = timestamp;
        common->ani.checkani_timer = timestamp;




> On Tue, May 6, 2014 at 12:21 AM, Oleksij Rempel <li...@rempel-privat.de> 
> wrote:
>>
>> Am 06.05.2014 03:57, schrieb Aaron Hamilton:
>>> Oh ok. Is this not already handled by hostapd or the wifi drivers?
>>
>> No. hostapd suggest which rutaes should be used and driver, btw.
>> mac80211 should fallow this suggestion. ip layer is not touched.
>>
>>>
>>> Also, I reverted back to backports-3.12.8-1 and now trying to see if
>>> there's a difference when using sch_codel.ko and sch_fq_codel.ko
>>> (previously these two modules were not used as I was trying to minimize
>>> the number of moving parts). Which by the way, am I gaining or loosing
>>> anything with these? I'm not quiet sure what their purpose is.
>>
>> Scheduling is good for many reasons. For example, if you know what
>> bandwidth you have (in your case you know it) it is possible to use
>> priority for critical applications. DNS and ICMP traffic will have
>> higher priority then HTTP, and so on. Read more about QoS.
>> I would suggest to set scheduler to bandwidth lover then your USB
>> bandwidth. It should reduces usage of ath9k_htc_fw buffer. If you
>> configure scheduler, please try remove "supported_rates=10 20 55" from
>> you config.
>>
>> Don't forget. It is not enough to add scheduler module. You will need
>> configure it.
>>
>>> I'm also using the attached hostapd.conf file. Previously, when two
>>> devices were on the WiFi, one would always have ping latency of several
>>> hundred milliseconds despite minimal traffic on either host. Now latency
>>> only seems to spike when a large continuous file is moved across the
>>> WiFi. Streaming of music for example doesn't seem to have much effect on
>>> the other WiFi clients.
>>
>> How about filed tests? Do you still have stability issues?
>>
>>> # Begin hosatpd.conf
>>> interface=wlan0
>>> driver=nl80211
>>>
>>> hw_mode=g
>>>
>>> dump_file=/tmp/hostapd.dump
>>> ctrl_interface=/var/run/hostapd
>>> ctrl_interface_group=0
>>>
>>> logger_syslog=-1
>>> logger_syslog_level=2
>>> beacon_int=500
>>> dtim_period=2
>>>
>>> supported_rates=10 20 55
>>>
>>> max_num_sta=5
>>> rts_threshold=2347
>>> fragm_threshold=2346
>>>
>>> macaddr_acl=0
>>> eapol_version=1
>>> eapol_key_index_workaround=0
>>>
>>> # Attempting max time-outs for increased reliability
>>> wpa_group_rekey=0
>>> wpa_gmk_rekey=86400
>>> # wmm_enabled=1
>>> ieee80211n=1
>>> ieee80211d=1
>>> country_code=DE
>>> ht_capab=[HT40+][RX-STBC1][DSSS_CCK-40][SHORT-GI-40]
>>> ignore_broadcast_ssid=0
>>> channel=1
>>> ssid=TestSSID
>>>
>>> auth_algs=1
>>> wpa=2
>>> wpa_key_mgmt=WPA-PSK
>>>
>>> wpa_pairwise=CCMP
>>> rsn_pairwise=CCMP
>>>
>>> wpa_passphrase=fixmeplease
>>> # end hostapd.conf
>>>
>>>
>>> On Mon, May 5, 2014 at 12:32 PM, Oleksij Rempel <li...@rempel-privat.de
>>> <mailto:li...@rempel-privat.de>> wrote:
>>>
>>>     Am 05.05.2014 20:09, schrieb Aaron Hamilton:
>>>     > I'm sorry, what's TC?
>>>
>>>     http://linux.die.net/man/8/tc
>>>
>>>     > On Sat, May 3, 2014 at 2:07 AM, Oleksij Rempel
>>>     <li...@rempel-privat.de <mailto:li...@rempel-privat.de>
>>>     > <mailto:li...@rempel-privat.de <mailto:li...@rempel-privat.de>>>
>>>     wrote:
>>>     >
>>>     >     Am 02.05.2014 12:11, schrieb Aaron Hamilton:
>>>     >     > Ok, I updated the drivers to backports 3.14-1 and configured the
>>>     >     > following hostapd settings. I connected an iPad and a
>>>     Windows PC, then
>>>     >     > ran continuous pings. For the first couple seconds
>>>     everything was
>>>     >     > returning in a few milliseconds. Within 30 seconds, the
>>>     pings started
>>>     >     > getting into the several hundred ms range (or timing out)
>>>     and remained
>>>     >     > there (for both the iPad and PC).
>>>     >     >
>>>     >     > After I disconnected the PC from the WiFi, the iPad's pings
>>>     dropped to
>>>     >     > an average of 15ms (about 30s to a minute after the PC was
>>>     moved to
>>>     >     > another AP).
>>>
>>>     --
>>>     Regards,
>>>     Oleksij
>>>
>>>
>>
>>
>> --
>> Regards,
>> Oleksij
>>


-- 
Regards,
Oleksij

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
ath9k-devel mailing list
ath9k-devel@lists.ath9k.org
https://lists.ath9k.org/mailman/listinfo/ath9k-devel

Reply via email to