On Sat, Oct 29, 2011 at 9:02 PM, David Summers
<at...@summers5913.freeserve.co.uk> wrote:
> No switches on my card. Card came already attached to the MTB when I
> bought it, looks like its just the raw AR9285 chip you can see here:
>
> http://www.qca.qualcomm.com/media/product/product_79_file1.pdf
>
> I'll try just using each antenna alone and see if one works. So which
> channel transmits can be configured in software, rather than being hard
> wired?

i assume if we remove the antenna in chain0, the performance will be
bad. as per my assumption tx will always happen in chain0.(does we
have some tx diversity?)

>
> Anyway I'll dig some more - if there is anything else I can do to help,
> give a shout.

please try the attached patch in your compat wireless which disables
antenna diversity.
you can apply by patch -p1 < disable-antenna-diversity.patch in your
compat wireless directory

please see in the kernel.log if the diversity is first of all enabled.
lets find out if really that because of this the problem had occurred.
usually enabling this feature indeed improves the throughput a lot.
may be its a regression, if its previously working properly.
pls make sure that both of your antenna are good and no mismatches.
some time one broken antenna can also cause a problem.

>
> Thanks,
>
> David.
>
>
> On 27/10/11 12:23, Adrian Chadd wrote:
>> Wait a sec! That's still a bug. Still very a bug! (And a bug with FreeBSD 
>> too!)
>>
>> The AR9285 has two RX and one TX radio. It _can_ have:
>>
>> * no antenna switch, so the RX mixing is done on the chip itself (the
>> A+B, A-B, A, B RX antenna diversity code) - where TX only occurs on
>> one antenna;
>> * an antenna switch, so the RX/TX can be flipped around;
>> * both combined.
>>
>> So if you've got an AR9285 with one antenna connected, we should see
>> what is going on. Ie:
>>
>> * does your AR9285 have an antenna switch or not;
>> * does your AR9285 have an issue with TX or RX.
>>
>> So let's try something - can you please attach an antenna on the
>> _other_ antenna, just one. Let's see how it behaves?
>>
>> The AR9285 antenna selection and diversity code is still a bit magic
>> and I think it could do with a lot better debugging and logging. So
>> you've found yet another case which we should handle. :)
>>
>> Thanks!
>>
>>
>> Adrian
>>
>>
>
> _______________________________________________
> ath9k-devel mailing list
> ath9k-devel@lists.ath9k.org
> https://lists.ath9k.org/mailman/listinfo/ath9k-devel
>



-- 
shafi
diff --git a/drivers/net/wireless/ath/ath9k/hw.c b/drivers/net/wireless/ath/ath9k/hw.c
index f16d203..eb80882 100644
--- a/drivers/net/wireless/ath/ath9k/hw.c
+++ b/drivers/net/wireless/ath/ath9k/hw.c
@@ -2282,8 +2282,12 @@ int ath9k_hw_fill_cap_info(struct ath_hw *ah)
 		if (ah->eep_ops->get_eeprom(ah, EEP_MODAL_VER) >= 3) {
 			ant_div_ctl1 =
 				ah->eep_ops->get_eeprom(ah, EEP_ANT_DIV_CTL1);
-			if ((ant_div_ctl1 & 0x1) && ((ant_div_ctl1 >> 3) & 0x1))
+			if ((ant_div_ctl1 & 0x1) && ((ant_div_ctl1 >> 3) & 0x1)) {
+				printk("\nHELLO Antenna diversity is enabled\n");
 				pCap->hw_caps |= ATH9K_HW_CAP_ANT_DIV_COMB;
+				printk("\nHELLO i am going to disable Antenna diversity\n");
+				pCap->hw_caps &= ~ATH9K_HW_CAP_ANT_DIV_COMB;
+			}
 		}
 	if (AR_SREV_9300_20_OR_LATER(ah)) {
 		if (ah->eep_ops->get_eeprom(ah, EEP_CHAIN_MASK_REDUCE))
_______________________________________________
ath9k-devel mailing list
ath9k-devel@lists.ath9k.org
https://lists.ath9k.org/mailman/listinfo/ath9k-devel

Reply via email to