On Thu, May 06, 2021 at 01:17:48PM +0000, Martin wrote: > After some testing the issue is quite more complicated than expected. > > 1. Using USB dongles as AP allow connections from any device with relatively > 'old' WiFi modules installed (clients with Intel, Atheros). It works smoothly > with AP based on AR9280+AR7010 (on both 2.4G and 5G bands) and with AP based > on AR9271 except Android clients. > > 2. But both USB dongles in AP mode work very poor with Android devices with > Broadcom WiFi driver integrated into Android 10 OS. Android's dmesg shows > that wlan0 uses bcmdhd kernel driver. I think its code is here: > https://android.googlesource.com/kernel/common.git/+/bcmdhd-3.10 > > 2.1. The same Android 10 based device with the same bcmdhd kernel driver > connects successfully to PCIe AR9280 card in AP mode and works absolutely > without any issues. > > 2.2. Moreother, any of USB dongle with Android 10 client connected triggers > PF 's rule 'max-src-rate 100/1' rule which never triggered with PCIe AR9280 > card in AP mode. Commenting this rule out can't help much, ICMP packets > disappearing between devices, but some ICMP goes between them. No any > possibility of data transfers because USB AP and Android 10 client because of > lots of missed packets. Distance between USB AP and Android client is not > more than 1M. > > The question is why Android client works fine with PCIe version AR9280 and > don't work with USB version of AR9280 / AR9271. > > I've tested all modes 11a (5G) 11n, 11g, and 11b (2.4G). The USB APs behavior > is the same.
Ah, yes, that make sense and rings a bell: The issue is that the USB part of athn does not support AP-side power management (i.e. buffering of frames while clients are sleeping), while the PCI version of the driver does support this. This explains the packet loss issues you mentioned in your first post. Phones really do not like access points that don't support power management. I'm afraid you'll have to find another AP for this purpose until perhaps power management support gets implemented for the USB part of athn some day. Granted, this makes athn on USB rather useless as an access point with clients that require power management support. I'll add a warning to the man page.
