Date: Fri, 4 Nov 2011 20:09:02 -0700 From: Adrian Chadd <adrian@freebsd.org> To: freebsd-wireless@freebsd.org Subject: update - new hal flag to force a full chip reset Message-ID: <CAJ-VmomPuBs_51-X8Pin4MPtek507EUe5yjJbKhv906FtHAMZg@mail.gmail.com>
next in thread | raw e-mail | index | archive | help
Hi, I'm getting closer to teaching the HAL to handle interference better for AR9220/AR9280 and later chips. I'll commit some more code soon once I've finalised what's going on. The dual-band AR9280's (PCIe) seem behave better (ie, no OFDM/CCK errors, very few stuck conditions) with the HAL which shipped with FreeBSD-8. I'm going to trace down why that is, hopefully it's something that can easily be fixed. In the meantime, I've added a new flag - force_full_reset - which forces a full chip reset upon channel change or reset, rather than a warm reset. Merlin seems to benefit from this - it stops the NIC from staying in a stuck state once it gets there. Unfortunately i haven't fixed the throughput or stuck beacon issue. For whatever reason, the NIC still reports what look like very high noise floor levels, and when it _does_ get enough NF samples that look right (and are lower, around -100 to -110) then it suddenly thinks the air is constantly busy. That's why you see stuck beacons and crappy performance. I'm still trying to figure out whether it's the problem or the symptom. In any case, I'll try to get this stuff stable rather than high-performing, then merge the rest of the 11n stuff back into -HEAD. I don't have much else to suggest at this point (until I figure out what's wrong) but I won't be dwelling too much longer on this. I really need to concentrate on merging the 11n TX stuff into FreeBSD-HEAD before I continue hacking on this. Good luck, and thanks to everyone who has been testing my code out! Adrian
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJ-VmomPuBs_51-X8Pin4MPtek507EUe5yjJbKhv906FtHAMZg>