I have custom-built router, based on Intel D510MO motherboard with Slackware 13.37 on it. I'm using hostapd-2.0 and iptables to make it act as a router. Client is a laptop with Windows 7 on it. Both router and laptop have Atheros AR5BXB72 mini pci-e wlan cards.
When it's configured as 802.11g, there are basically no problems - it is stable and works at full speed, something around 2.7 MB/s (= ~21 Mbps), which seems to be OK for 802.11g.
When it's configured as 802.11n, funny things start happening:
- web pages in my country seem to open at full speed <-- OK
- speedtest.net reports speeds between 75-95 Mbps for local servers (100Mbps Internet connection) <-- OK
- speedtest.net reports speeds up to 3-4 Mbps download, 7-9 Mbps upload for foreign servers <-- why?!
- everything else (e.g., downloading huge files) outside my country works at 300-400 KB/s <-- why?!
What I've tried:
- googled a lot…
- various drivers on client (Windows)
- update driver on router (Linux)
- update hostapd to force operating in 40MHz even when BSSes overlap
Drivers on Windows - tried both default Windows drivers (from Win7 installation, from Windows Update) and drivers from atheros.cz (9.0.0.173, 9.1.0.314, 10.0.0.45, 10.0.0.221) - no changes, besides blinking orange WLAN status LED.
Drivers on Linux - used compat-drivers package to update ath9k driver. 802.11n used to be unusable, because it was very unstable, e.g., usually only half of web page loaded, or most of images did not load. I also tried pinging some foreign hosts - response times mostly were more than 1-2 secs, with lots of timeouts. After updating driver everything works stable, e.g., pages are fully loaded, bigger files are being dowloaded just fine, but the speeds are low - 300-400 KB/s for foreign resources.
Also, I noticed that hostapd often disables 20/40 MHz operation because of overlapping BSSes. Patched it to skip this check. With 20 MHz, Windows reports 130 Mbps connection speed, with 40 MHz - 300 Mbps. Internet works the same in both cases, but local network - 16-17 MB/s in 20 MHz mode and 20-21 MB/s in 40 MHz mode. Channels are chosen carefully, so my neighbours should not be affected by this.
Any ideas what else I could try? I really don't like the fact that I can use foreign resources with max 2-3 MB/s (with 802.11g), when I should have speeds up to 10-12 MB/s…