New ath code works well as AP

Adrian Chadd adrian at freebsd.org
Mon Aug 20 16:57:55 UTC 2012


On 20 August 2012 09:54, Slawa Olhovchenkov <slw at zxy.spb.ru> wrote:

>> Yup. Look at the channel busy statistics. YOur channel isn't busy at all.
>
> Oh, I am don't need utilise all bandwidth, typical use: ssh access to remote host
> and lot of web traffic. And narrow uplink (~2-5Mbit/s).
>
> Now I do test transfer from local ftp:

Right.

>          min                   avg                   max
>   tx%  rx%  bc%  ec%    tx%  rx%  bc%  ec%    tx%  rx%  bc%  ec%
> (10.8 73.8 90.5  5.1) (12.2 76.7 93.2  6.8) (13.2 81.2 94.9  9.5)

Right. The rx% is high as you're receiving frames. The busy count
(bc%) is high because you're actively doing work on the channel.
If bc% is high but rx% and tx% is low, there's some non-decodable wifi
(eg too far away, or too distorted, or collision-y) non-wifi signal
that's high enough to cause issues.

[snip]


>> Well, what do you mean by "lost traffic" ? I need some more
>> information about that.
>
> Sometimes (may be one in 2-3 days) receiving packets on wlan0 stoped.
> May be intesive traffic increase probability.
> No messages in dmesg. tcpdump on wlan0 show only outgoing packets. Interface is UP.
> No automatic recovery. For manual recovery I am need to kldunload/kldolad if_ath_pci.

The next time it happens:

* sysctl dev.ath.0.txagg=1 (I assume your interface is ath0) - that
dumps some basic information about the state of the aggregation logic
_AND_ the hardware TX queues;
* check dmesg;
* ifconfig -v wlan0 and ifconfig -v wlan0 list sta (to see if 11n is enabled).

You shouldn't have to unload/reload the driver. A simple ifconfig
wlan0 down ; ifconfig wlan0 up (and restarting wpa_supplicant if it
was running) should be enough. (Oh, and running dhclient.)

You can also enable reset+TX debugging when things hang (sysctl
dev.ath.0.debug=0x3) and then do something like 'ifconfig wlan0 down';
it will then dump out the state of the hardware/software queue(s) and
hopefully give me a better idea of what state the hardware/driver is
in.

Thanks,


Adrian


More information about the freebsd-wireless mailing list