Search Linux Wireless

Re: Issue with ath9k and tx/rx chainmask: 3x3 doesn't work with mask of 0x1.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2012-08-23 2:48 AM, Ben Greear wrote:
> On 08/22/2012 05:05 PM, Ben Greear wrote:
>> On 08/22/2012 03:24 PM, Ben Greear wrote:
>>> On 08/22/2012 01:30 PM, Felix Fietkau wrote:
>>>> On 2012-08-20 10:24 PM, Ben Greear wrote:
>>>>> I am trying to test out an attenuator.  For now, I have only a single attenuator,
>>>>> so I set tx and rx chainmask to 0x1 on both AP and Station machine.
>>>>>
>>>>> I then connected channel 0 on the two machines together through the
>>>>> attenuator.
>>>>>
>>>>> I have two station interfaces on the station machine.  They both
>>>>> seem to associate OK, but they cannot receive dhcp responses.
>>>>>
>>>>> It *seems* that broadcast packets may go through fine.
>>>>>
>>>>> If I force the rate down to 1x1 or 2x2 MIMO (or force disable /n
>>>>> and just use /a), then it appears to work fine.
>>>>>
>>>>> Nics are WPEA-127n (AR9380).  Kernel is 3.5.1+ on AP, 3.5.2+ on station
>>>>> machine.
>>>>>
>>>>> I can see why forcing it down to 1x1 might work around some issue,
>>>>> but I find it funny that 2x2 works while 3x3 does not.
>>>> Did you set the chainmask manually via debugfs? If so, don't do that!
>>>> Use the nl80211 antenna control API (e.g. via iw)
>>>
>>> [root@lec2010-ath9k-1 lanforge]# ./local/sbin/iw phy wiphy0 set antenna 1 1
>>> command failed: Operation not supported (-95)
>>> [root@lec2010-ath9k-1 lanforge]# ./local/sbin/iw phy wiphy0 set antenna 1
>>> command failed: Operation not supported (-95)
>>> [root@lec2010-ath9k-1 lanforge]# ./local/sbin/iw phy wiphy0 set antenna 3
>>> command failed: Operation not supported (-95)
>>> [root@lec2010-ath9k-1 lanforge]# ./local/sbin/iw phy wiphy0 set antenna 7
>>> command failed: Operation not supported (-95)
>>> [root@lec2010-ath9k-1 lanforge]# uname -a
>>> Linux lec2010-ath9k-1 3.5.1+ #15 SMP PREEMPT Thu Aug 9 09:31:45 PDT 2012 i686 i686 i386 GNU/Linux
>>
>> I'm guessing it is because of this:
>>
>> static int ieee80211_set_antenna(struct wiphy *wiphy, u32 tx_ant, u32 rx_ant)
>> {
>>      struct ieee80211_local *local = wiphy_priv(wiphy);
>>
>>      if (local->started)
>>          return -EOPNOTSUPP;
>>
>>      return drv_set_antenna(local, tx_ant, rx_ant);
>> }
> 
> Even when I manually admin down everything, I can still freeze the NIC
> (WPEA-127n, AR9380).
> 
> To reproduce:
> stop all VAP/STA interfaces on wiphy0
> set tx and rx chainmask to 2 using 'iw'
> start vap0
> 
> # Boom, fails to reset, and for whatever reason, local->started never
> # goes false, so you can't even set the chainmask back using 'iw'.
> 
> 
> Aug 22 17:41:34 localhost dhcpd: DHCPDISCOVER from 00:00:08:76:52:14 via rddVR17: network 99.88.77.0/24: no free leases
> Aug 22 17:41:37 localhost kernel: [ 5575.474706] ath: wiphy0: Unable to reset hardware; reset status -5 (freq 5785 MHz)
> Aug 22 17:41:38 localhost kernel: [ 5576.116434] ath: wiphy0: Unable to reset hardware; reset status -5 (freq 5785 MHz)
> Aug 22 17:41:38 localhost kernel: [ 5576.476336] ath: wiphy0: Unable to reset hardware; reset status -5 (freq 5785 MHz)
> Aug 22 17:41:45 localhost kernel: [ 5582.653715] ath: wiphy0: Unable to reset hardware; reset status -5 (freq 5785 MHz)
> Aug 22 17:41:46 localhost dhclient[18218]: DHCPDISCOVER on rddVR18 to 255.255.255.255 port 67 interval 11
> Aug 22 17:41:46 localhost dhcpd: DHCPDISCOVER from 26:0c:f3:49:95:16 via rddVR17: network 99.88.77.0/24: no free leases
> Aug 22 17:41:47 localhost dhclient[18706]: DHCPDISCOVER on rddVR18#4 to 255.255.255.255 port 67 interval 14
> Aug 22 17:41:47 localhost dhcpd: DHCPDISCOVER from 00:00:08:76:52:14 via rddVR17: network 99.88.77.0/24: no free leases
> Aug 22 17:41:57 localhost dhclient[18218]: DHCPDISCOVER on rddVR18 to 255.255.255.255 port 67 interval 7
> Aug 22 17:41:57 localhost dhcpd: DHCPDISCOVER from 26:0c:f3:49:95:16 via rddVR17: network 99.88.77.0/24: no free leases
> Aug 22 17:41:59 localhost kernel: [ 5597.279989] in set_wiphy
> Aug 22 17:41:59 localhost kernel: [ 5597.296604] in set_wiphy
> Aug 22 17:41:59 localhost kernel: [ 5597.314646] in set_wiphy
> Aug 22 17:41:59 localhost kernel: [ 5597.319479] set antenna failed, local->started
> Aug 22 17:41:59 localhost kernel: [ 5597.326555] ops->set_antenna rv: -95
Don't use 2 as antenna mask, the chip cannot handle it properly (I
recently sent a patch to make setting such masks fail). Masks need to
start at bit 0 and be contiguous.

- Felix
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux