From: Ping-Ke Shih <pkshih@realtek.com>
To: Piotr Oniszczuk <piotr.oniszczuk@gmail.com>,
"linux-wireless@vger.kernel.org" <linux-wireless@vger.kernel.org>
Cc: "rtl8821cerfe2@gmail.com" <rtl8821cerfe2@gmail.com>,
"martin.blumenstingl@googlemail.com"
<martin.blumenstingl@googlemail.com>
Subject: RE: rtl8822cs, mainline 6.16-rc7: kernel reports ' unsupported rf path'
Date: Wed, 23 Jul 2025 00:52:53 +0000 [thread overview]
Message-ID: <ec5d762f3ee64a0188953a1aecbef2cc@realtek.com> (raw)
In-Reply-To: <7407FAA3-F4A4-48AA-91E5-A78DA711447D@gmail.com>
Piotr Oniszczuk <piotr.oniszczuk@gmail.com> wrote:
[...]
>
> Working: HT RX MCS indexes: 0-15
> Non-working: HT RX MCS indexes: 0-7
>
> Isn’t that 8-15 are for 2x2mimo?
> So maybe - by some reason - hw sometimes reports support for only 1x mimo but receives from air 2x mimo
> (2 streams) and thats why I see hell of "unsupported rf path" errors from driver?
I think your point is correct that firmware reports incorrect value somehow.
With below changes, we can check this:
diff --git a/drivers/net/wireless/realtek/rtw88/main.c b/drivers/net/wireless/realtek/rtw88/main.c
index fa0ed39cb199..3363458a9ea1 100644
--- a/drivers/net/wireless/realtek/rtw88/main.c
+++ b/drivers/net/wireless/realtek/rtw88/main.c
@@ -996,6 +996,9 @@ static void rtw_hw_config_rf_ant_num(struct rtw_dev *rtwdev, u8 hw_ant_num)
hal->rf_path_num = 1;
if (!chip->fix_rf_phy_num)
hal->rf_phy_num = hal->rf_path_num;
+ printk("%s:%d hal->rf_phy_num=%d hal->rf_path_num=%d hw_ant_num=%d\n",
+ __func__, __LINE__, hal->rf_phy_num, hal->rf_path_num, hw_ant_num);
+
hal->antenna_tx = BB_PATH_A;
hal->antenna_rx = BB_PATH_A;
break;
@@ -1874,6 +1877,8 @@ static int rtw_chip_parameter_setup(struct rtw_dev *rtwdev)
}
hal->rf_phy_num = chip->fix_rf_phy_num ? chip->fix_rf_phy_num :
hal->rf_path_num;
+ printk("%s:%d hal->rf_phy_num=%d hal->rf_path_num=%d\n",
+ __func__, __LINE__, hal->rf_phy_num, hal->rf_path_num);
efuse->physical_size = chip->phy_efuse_size;
efuse->logical_size = chip->log_efuse_size;
If we found firmware reports incorrect values, let's print out the reported
values by this below to see if we can have useful clues.
@@ -1948,6 +1953,9 @@ static int rtw_dump_hw_feature(struct rtw_dev *rtwdev)
for (i = 0; i < HW_FEATURE_LEN; i++)
hw_feature[i] = rtw_read8(rtwdev, REG_C2HEVT + 2 + i);
+ printk("%s:%d hw_feature = %*ph\n",
+ __func__, __LINE__, HW_FEATURE_LEN, hw_feature);
+
rtw_write8(rtwdev, REG_C2HEVT, 0);
bw = GET_EFUSE_HW_CAP_BW(hw_feature);
next prev parent reply other threads:[~2025-07-23 0:53 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-07-22 13:29 rtl8822cs, mainline 6.16-rc7: kernel reports ' unsupported rf path' Piotr Oniszczuk
2025-07-23 0:52 ` Ping-Ke Shih [this message]
2025-07-23 7:34 ` Piotr Oniszczuk
2025-07-23 7:50 ` Ping-Ke Shih
2025-07-23 8:02 ` Piotr Oniszczuk
2025-07-23 8:19 ` Ping-Ke Shih
2025-07-23 8:46 ` Piotr Oniszczuk
2025-07-23 9:07 ` Ping-Ke Shih
2025-07-23 11:14 ` Bitterblue Smith
2025-07-23 12:23 ` Ping-Ke Shih
2025-07-23 13:02 ` Piotr Oniszczuk
2025-07-24 0:52 ` Ping-Ke Shih
2025-07-24 7:55 ` Piotr Oniszczuk
2025-07-24 7:59 ` Ping-Ke Shih
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ec5d762f3ee64a0188953a1aecbef2cc@realtek.com \
--to=pkshih@realtek.com \
--cc=linux-wireless@vger.kernel.org \
--cc=martin.blumenstingl@googlemail.com \
--cc=piotr.oniszczuk@gmail.com \
--cc=rtl8821cerfe2@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.