On 2010-02-22 8:43 PM, Galen wrote: > On Feb 22, 2010, at 6:29 AM, Felix Fietkau wrote: > >>> *** Discussion *** While I realize some of my examples are rather >>> extreme, they clearly demonstrate the huge disparity between ath9k >>> and proprietary drivers. I suspect that ath9k may have inferior MIMO >>> support code (MRC, beamforming, etc.) as compared to the proprietary >>> drivers. I believe that STBC is still not supported yet either. >> All of the currently available common Atheros hardware such as AR9280 >> and earlier chip generations do not have MRC, Beamforming and similar >> advanced features. > > As Atheros does not release technical specifications without NDA, I > do not have a clear picture of what is and is not supported by a particular > chipset. Reviewing the ath9k source code is a very intensive process and > only provides a partial picture. Some features might be implemented 100% > in hardware, making them difficult to discern from ath9k source alone. Since I do commercial work for some companies using Atheros based stuff, I know a few things about the other codebases ;)
>> Except for STBC, ath9k seems to have pretty much the same hardware >> features as Atheros' other drivers. There may be some workarounds for >> various hw issues missing, I have not extensively reviewed that yet. > I would be interested in knowing more about these. LDPC? Others? > There appear good software implementations of LDPC out there: > http://planete-bcast.inrialpes.fr/article.php3?id_article=7 I'm pretty sure the current hardware also doesn't do LDPC yet. >> While I haven't done any tests with it yet, I believe STBC could >> potentially make a difference in strong multipath environments, >> especially when dealing with lower signal strength. > > Yes, I would tend to agree this could help significantly. > > Are there details about what you are implementing? Are you > implementing encoding or decoding or both? Are you using an orthogonal > or quasi-orthagonal code? Have you considered a hybrid system using a > quasi-orthagonal code at low SNR and orthogonal at higher SNR? I think the hardware can only do 2:1 STBC >> The signal strength issues might also be related to ANI, you should >> probably disable that in ath9k to make sure that it's not screwing up >> your test results. > > If I am not mistaken, ANI seems unlikely to have a negative impact > on performance. Do you believe it could be aversely affecting performance, > or do you believe that it is simply causing the signal numbers to be > mis-reported? ANI messes with the AGC parameters, OFDM or CCK self-correlation during reception, spur mitigation, and a few other things. Atheros has published a patent on this a while back. Look it up and read it if you're curious about the details. Short answer: I've seen it mess with the reported signal strength in their legacy chips, and I believe there's a good chance it still holds true for the 11n variants. >>> Can anybody comment on this issue? Have you experienced it yourself? >> While I haven't done any extensive testing in that area, nor compared it >> against proprietary APs directly, your description of ath9k issues >> sounds somewhat similar to what I'm seeing with AR9280 hardware in my tests. > > I have a good testing environment and strong interests in seeing > better performance, so let me know if there is anything I can test for > you. I have AR5008, AR9280, AR9281 all on-hand, including radio modules > from multiple vendors for each of these chips. I will probably be > equipped to test AR9220 and AR9160 soon. I have a wide variety antennas > from essentially zero gain to 30 dB and a mix of indoor and outdoor line > of sight testing possible. All testing machines are setup with the > latest Debian testing, so they always have the latest kernel, etc. You should use compat-wireless based on the wireless-testing sources, it contains a lot of stuff that hasn't made it into stable kernels yet. This is also what I use for the mac80211+drivers packages in OpenWrt. >>> Does anybody have ideas on how this might be improved? I have been >>> considering ath9k for an embedded installation, but these multi-path >>> performance differences are pretty disturbing. Atheros has a >>> proprietary driver available with source for a very hefty license >>> fee, but I'd rather put energies into ath9k - the kind of licensing >>> fees they are working with can pay for a lot of developer time. >> I'm currently working on a new rate control algorithm for 11n, and I >> also intend to add STBC support to ath9k soon (it's only a few flags >> missing, nothing major). Maybe I should do STBC first, as it should be >> fairly straightforward. > > I tend to think the STBC is probably a lot more foundational than rate > control. > > That said, I am curious, what changes to the rate control are you planning / > working on? I started adapting the minstrel algorithm for 11n (it's a rewrite, actually), but found out by testing that without modifications the general approach isn't really suitable for 11n yet. So I'm playing with a couple of ideas for a new approach, which I can easily fit into the code that I have already written. I don't really have a name for that stuff yet (it deviates quite a bit from the minstrel approach), but it will be posted as an RFC patch to the linux-wireless list as soon as it's somewhat usable. - Felix _______________________________________________ ath9k-devel mailing list ath9k-devel@lists.ath9k.org https://lists.ath9k.org/mailman/listinfo/ath9k-devel