• Chris Chiu's avatar
    rtl8xxxu: Fix wifi low signal strength issue of RTL8723BU · 18e71468
    Chris Chiu authored
    The WiFi tx power of RTL8723BU is extremely low after booting. So
    the WiFi scan gives very limited AP list and it always fails to
    connect to the selected AP. This module only supports 1x1 antenna
    and the antenna is switched to bluetooth due to some incorrect
    register settings.
    
    Compare with the vendor driver https://github.com/lwfinger/rtl8723bu,
    we realized that the 8723bu's enable_rf() does the same thing as
    rtw_btcoex_HAL_Initialize() in vendor driver. And it by default
    sets the antenna path to BTC_ANT_PATH_BT which we verified it's
    the cause of the wifi weak tx power. The vendor driver will set
    the antenna path to BTC_ANT_PATH_PTA in the consequent btcoexist
    mechanism, by the function halbtc8723b1ant_PsTdma.
    
    This commit hand over the antenna control to PTA(Packet Traffic
    Arbitration), which compares the weight of bluetooth/wifi traffic
    then determine whether to continue current wifi traffic or not.
    After PTA take control, The wifi signal will be back to normal and
    the bluetooth scan can also work at the same time. However, the
    btcoexist still needs to be handled under different circumstances.
    If there's a BT connection established, the wifi still fails to
    connect until BT disconnected.
    Signed-off-by: default avatarChris Chiu <chiu@endlessm.com>
    Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
    18e71468
rtl8xxxu_8723b.c 50.7 KB