Atheros 9280 wifi gets very slow

I have the latest nightly 32 bit hybrid running on my Lenovo X131e (AMD dual core, not the i3 version) netbook. It has had the BIOS wifi whitelist removed so I can use any wifi card. The original Intel wifi card works in linux and I tried the install firmware script in haiku but it did not make that card work.

I thought I would give Atheros 9280 a try because it works well in FreeBSD, not needing any firmware blobs. Well, it seems ok at first, but it gets slower and slower. I noticed the problem when using sftp to transfer some games from my linux computer: for the first 100MB or so speed is 1-3 MB/sec, then it drops to like 10KB/sec and finally says “stalled” most of the time. It did the same thing when I tried to download clasquin’s hpkg archive with wget.

Connecting and reconnecting doesn’t help. Waiting a while doesn’t help. Rebooting helps, but it just slows down again after a while. Netpostive seems completely stuck when this slowdown happens, nothing happens when you click links. You can close all its windows but it is still running and Quit doesn’t work from the GUI. (Killing it from the terminal by kill XXXX, where XXXX is PID of Netpositive closes it.)

I think there is an open ticket about this. There is some problem in our TCP stack related to window scaling that nobody has fixed yet…

If it was only tcp, wouldn’t things work again for each new tcp connection? Isn’t this a problem at the ethernet or wifi level?

I think the TCP stack does some kind of global scheduling, so it could get into a state where things locked up completely?

It could be a problem in the WiFi stack, but I haven’t heard of any bugs in FreeBSD like this, and I’ve no idea how our compatibility layer could cause one on “some” devices but not all.

I have a few more wifi cards around, so I tried Intel N-6200. Same problem showed up after transferring a little more than 3GB. Seems like it lasted longer before the stall, but could just have been luck. In any case, the problem is definitely not Atheros-specific.

Maybe I’ll try to upload a few giant video files to the Thinkpad over the ethernet and see how that works.