[CUWiN-Dev] Atheros rx sensitivity bug

Jeongkeun Lee jklee78 at gmail.com
Mon Feb 4 18:52:23 CST 2008


Hi,

It seems like that current atheros driver & HAL used in cuwin have
some bugs with the rx sensitivity. When operating with OFDM phy and
non-Sta mode (ad-hoc mode), the rx sensitivity is abnormally high and it
severely reduces the communication range and degrades performance.

In my cuwin0.6.0+soekris+cm9 testbed, at least 20dB SNR is required to
receive 1000-byte size packets with 90% or higher reception ratio. Phy
rate is fixed at 802.11a 6Mbps and we tested on clear 11a channels
after scanning them to ensure that they are interference-free.
Assuming -95dBm noise level, 20dB SNR is -75dBm which is much higher
than the expected -88 dBm sensitivity level from the card
manufacturers. (source: http://metrix.net/datasheets/CM9.pdf)

This has been the hottest bug for debate in madwifi community for last
few months.
http://madwifi.org/ticket/705

I have applied the bug fix from madwifi : turning off ANI (ambient
noise immunity) according to
http://madwifi.org/attachment/ticket/705/ani_sensitity_fix.diff

Because of the variable name differences in madwifi and netbsd driver,
I revised the madwifi code as follows:
---------------------------------------------------------------------
/usr/src/cuwin-0.6.0-netbsd-src/sys/dev/ic/ath.c
---------------------------------------------------------------------
if (ic->ic_opmode != IEEE80211_M_STA)
{
        /* Turn off ANI (ambient noise immunity) in other modes than station
         * because it causes receive sensitivity problems in OFDM modulations.
         */
        if (ath_hal_getcapability(ah, HAL_CAP_INTMIT,0, NULL) == HAL_OK)
               ath_hal_setcapability(ah, HAL_CAP_INTMIT, 1, 0, NULL);
}
---------------------------------------------------------------------


As HAL_CAP_INTMIT was not defined in the original netbsd hal code, I also
added its declaration into :
-----------------------------------------------------------------------------------
/usr/src/cuwin-0.6.0-netbsd-src/sys/contrib/dev/ic/athhal.h
-----------------------------------------------------------------------------------
typdedef enum {
...
       HAL_CAP_TPC             = 16,   /* per-packet tx power control  */
       HAL_CAP_INTMIT          = 29,   /* interference
mitigation(related to ANI) */
} HAL_CAPABILITY_TYPE;
-----------------------------------------------------------------------------------

However, the 11a 6Mbps sensitivity remains same as high as 20dB
although the above bug fix is applied.

Is there any similar experience or advice?

Thank you.
-- Jeongkeun


More information about the CU-Wireless-Dev mailing list