Received: by 2002:a25:ad19:0:0:0:0:0 with SMTP id y25csp3308476ybi; Tue, 2 Jul 2019 05:45:17 -0700 (PDT) X-Google-Smtp-Source: APXvYqw+W7S7YUICKEyTVccAswSdRtfI3eKch3RZWsrzmOHIdIkDyip/oTSkfnCMrWsXOzIgzur+ X-Received: by 2002:a17:902:2f:: with SMTP id 44mr35753374pla.5.1562071517136; Tue, 02 Jul 2019 05:45:17 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1562071517; cv=none; d=google.com; s=arc-20160816; b=ZxumXBRs0SDlW/fbNHYDmKCouqRq3eojzAL7DDkf/AdilDa79iZirCgCBlJz0f/BWu v0IG7nFNyo2TCZIyHIj2E68vtC8Vo4h+cKvYKtAFGqgiMxjdiLvMI9BqyJucmnu8zhjq qbxoHdPpN64O8xX+dufZ7wIupNrlLQwWohsN5Ba2iOqSckvm4qA7at/qH+06kkQ4ZdRQ 1UBe1wKPXlPptQgbgAqcpKTR87oaOlr/qpS/5ujPP6qrVVb8KBQrGHGNxQ2En1zvrjb7 cYvolO1WPpHiDPPQLTJBDZq3UiEk59/2J/HXyMYG3FRuZQYfPqJ/BdVUJO2A8ITVtys2 e7Hg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:references:cc:to:subject:from:dkim-signature; bh=12DvkmsIeJchtWeIYbkkPm0CS9UwzM+pY9NcdRKJXAs=; b=xr2vOR2EwmfjB/tI+/OaC8LEiN1v+LRnWePaGjoaKrKaH0PYMnQz1G2GqhbCyTe66p mWHFTetQWRx6eco7H6d7doRFnjVYnmYk8qZmQAaEJqIp7gyRH7a4JdkTEguxUEVYQ1sU GZOgCKTkFQZER1E2aIDLzdUyzP901vta76+0NfHWKDdqp5NjwUpOd4YC1U72Da4133Wq jUdAdYHhm7viKnp1KjVqUo5cKSuK9eE2Zmw9284ClLYduYK1k+byvuNCwp1hGcSQMCZJ m155sltybiqdbk1rdlHBfBqYOLiGC/lAzO84xb3ef1nDUNDTulKlXcl1HYkiFfMez3Ua Wo+g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=lsJx5lBp; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id z5si12175290plo.434.2019.07.02.05.45.02; Tue, 02 Jul 2019 05:45:17 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=lsJx5lBp; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726930AbfGBMok (ORCPT + 99 others); Tue, 2 Jul 2019 08:44:40 -0400 Received: from mail-qk1-f196.google.com ([209.85.222.196]:39620 "EHLO mail-qk1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726167AbfGBMok (ORCPT ); Tue, 2 Jul 2019 08:44:40 -0400 Received: by mail-qk1-f196.google.com with SMTP id i125so13779128qkd.6; Tue, 02 Jul 2019 05:44:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:subject:to:cc:references:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=12DvkmsIeJchtWeIYbkkPm0CS9UwzM+pY9NcdRKJXAs=; b=lsJx5lBpRBZjNj+5nK4dJ+DtsTXH08kT7T/VPeQKT9M/7F8t14tEA1L6HB7mqquGz5 QUs9FAa4cCqDpE8UR885Mj5VOhX8Ws8B5tiOm7WdYsv8Zvo4eOqsCeFQ48+twRIRixic DA+RmflG5Jew7L7Ekh8Pky2lnbDl2QcJ7PfMGy6EjNCQt31vRouRsVDSS+wU0eOl7Nvk gQ1D4pgMhjiH1oIfwB+A9lsBueHqNQZZfb9uloz0AgW4cp0Y1tKCiRxdt0RcAs7VoJgf cigPc85MExR2+ibp1QK1WVStKAnuGyMHL8BecDVG6hxHHQpkgsQmzKy5lcnWBi1cAmyU MwIQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:subject:to:cc:references:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=12DvkmsIeJchtWeIYbkkPm0CS9UwzM+pY9NcdRKJXAs=; b=uTLiStz2u9wuxjdZfcHloyYQibEhJiukh0sHAh3ZP0JkVuacd9Iq3F90WpGLlUeEDg bD/DfKe2hk7YlNT7pcWC1pSTKbyT8/Tr0nXS5NZK8Wmvi/2TLSZx3dc4yleICu5Giyoj RhA01vjJmOZ8cuF7oj5oh4WbGWErQ2BlTfuRKExcA5gWNgncQm1qaamFsd2C1iZxmXV2 au7BhPWtngJGdcVCO/MX2XtlL+9b1FqWyvtT30KxQu6T+YPAZTL0CFzGcq1g8eMnapLs 8FUC1hL+CPUaOoQfJH6t9ClOcRtGO/lf5Ii/xmL7gBluAlD34IywSuF+u5H/FHr2l6+a 6buQ== X-Gm-Message-State: APjAAAXV/T9/wg9tSh3i7WcED/x1AzLk9jv6n708vrzYZlSZce8rTWMJ 7+bA84JPr3LYO8e0kt5Y4qY= X-Received: by 2002:a37:6587:: with SMTP id z129mr24845496qkb.295.1562071478848; Tue, 02 Jul 2019 05:44:38 -0700 (PDT) Received: from ?IPv6:2620:10d:c0a8:11c1::1019? ([2620:10d:c091:480::c41e]) by smtp.gmail.com with ESMTPSA id o71sm6087975qke.18.2019.07.02.05.44.37 (version=TLS1_3 cipher=AEAD-AES128-GCM-SHA256 bits=128/128); Tue, 02 Jul 2019 05:44:38 -0700 (PDT) From: Jes Sorensen X-Google-Original-From: Jes Sorensen Subject: Re: [PATCH] rtl8xxxu: Fix wifi low signal strength issue of RTL8723BU To: Chris Chiu , kvalo@codeaurora.org, davem@davemloft.net Cc: linux-wireless@vger.kernel.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, linux@endlessm.com References: <20190627095247.8792-1-chiu@endlessm.com> Message-ID: <31f59db2-0e04-447b-48f8-66ea53ebfa7d@gmail.com> Date: Tue, 2 Jul 2019 08:44:36 -0400 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.6.1 MIME-Version: 1.0 In-Reply-To: <20190627095247.8792-1-chiu@endlessm.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 6/27/19 5:52 AM, Chris Chiu wrote: > 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. > > This commit hand over the antenna control to PTA, 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 disconneting the BT. > > Signed-off-by: Chris Chiu > --- > drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8723b.c | 9 ++++++--- > drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c | 3 ++- > 2 files changed, 8 insertions(+), 4 deletions(-) > > diff --git a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8723b.c b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8723b.c > index 3adb1d3d47ac..6c3c70d93ac1 100644 > --- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8723b.c > +++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_8723b.c > @@ -1525,7 +1525,7 @@ static void rtl8723b_enable_rf(struct rtl8xxxu_priv *priv) > /* > * WLAN action by PTA > */ > - rtl8xxxu_write8(priv, REG_WLAN_ACT_CONTROL_8723B, 0x04); > + rtl8xxxu_write8(priv, REG_WLAN_ACT_CONTROL_8723B, 0x0c); > > /* > * BT select S0/S1 controlled by WiFi > @@ -1568,9 +1568,12 @@ static void rtl8723b_enable_rf(struct rtl8xxxu_priv *priv) > rtl8xxxu_gen2_h2c_cmd(priv, &h2c, sizeof(h2c.ant_sel_rsv)); > > /* > - * 0x280, 0x00, 0x200, 0x80 - not clear > + * Different settings per different antenna position. > + * Antenna switch to BT: 0x280, 0x00 (inverse) > + * Antenna switch to WiFi: 0x0, 0x280 (inverse) > + * Antenna controlled by PTA: 0x200, 0x80 (inverse) > */ > - rtl8xxxu_write32(priv, REG_S0S1_PATH_SWITCH, 0x00); > + rtl8xxxu_write32(priv, REG_S0S1_PATH_SWITCH, 0x80); > > /* > * Software control, antenna at WiFi side > diff --git a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c > index 8136e268b4e6..87b2179a769e 100644 > --- a/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c > +++ b/drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu_core.c > @@ -3891,12 +3891,13 @@ static int rtl8xxxu_init_device(struct ieee80211_hw *hw) > > /* Check if MAC is already powered on */ > val8 = rtl8xxxu_read8(priv, REG_CR); > + val16 = rtl8xxxu_read16(priv, REG_SYS_CLKR); > > /* > * Fix 92DU-VC S3 hang with the reason is that secondary mac is not > * initialized. First MAC returns 0xea, second MAC returns 0x00 > */ > - if (val8 == 0xea) > + if (val8 == 0xea || !(val16 & BIT(11))) > macpower = false; > else > macpower = true; This part I would like to ask you take a good look at the other chips to make sure you don't break support for 8192cu, 8723au, 8188eu with this. Cheers, Jes