On 08/22/2012 10:29 PM, Felix Fietkau wrote:
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.
Ok...I just finished making the same restriction in my user-space app, and
that does seem to keep things properly under control.
Thanks,
Ben
--
Ben Greear <greearb@xxxxxxxxxxxxxxx>
Candela Technologies Inc http://www.candelatech.com
--
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