mirror of
https://github.com/armbian/build.git
synced 2026-05-05 04:06:14 +02:00
RTW88: 6.x.y fixups
Signed-off-by: Patrick Yavitz <pyavitz@armbian.com>
This commit is contained in:
parent
cf21bb9c64
commit
7df2f46a91
@ -335,10 +335,9 @@ driver_rtw88() {
|
||||
|
||||
if linux-version compare "${version}" ge 6.1; then
|
||||
display_alert "Adding" "Upstream wireless RTW88 drivers" "info"
|
||||
#if linux-version compare "${version}" ge 6.1 && linux-version compare "${version}" lt 6.6; then # came in with 6.6.14 and 6.7.2
|
||||
# process_patch_file "${SRC}/patch/misc/rtw88/${version}/001-drivers-net-wireless-realtek-rtw88-upstream-wireless.patch" "applying"
|
||||
#fi
|
||||
process_patch_file "${SRC}/patch/misc/rtw88/${version}/001-drivers-net-wireless-realtek-rtw88-upstream-wireless.patch" "applying"
|
||||
if [[ -f "${SRC}/patch/misc/rtw88/${version}/001-drivers-net-wireless-realtek-rtw88-upstream-wireless.patch" ]]; then
|
||||
process_patch_file "${SRC}/patch/misc/rtw88/${version}/001-drivers-net-wireless-realtek-rtw88-upstream-wireless.patch" "applying"
|
||||
fi
|
||||
process_patch_file "${SRC}/patch/misc/rtw88/hack/002-rtw88-usb-make-work-queues-high-priority.patch" "applying"
|
||||
process_patch_file "${SRC}/patch/misc/rtw88/hack/003-rtw88-decrease-the-log-level-of-tx-report.patch" "applying"
|
||||
fi
|
||||
|
||||
@ -6135,138 +6135,3 @@ index fcff31688c45..91ed921407bb 100644
|
||||
--
|
||||
2.25.1
|
||||
|
||||
From 3b25c78f92268d44d0c3c8201a302f49a841c0a1 Mon Sep 17 00:00:00 2001
|
||||
From: Bitterblue Smith <rtl8821cerfe2@gmail.com>
|
||||
Date: Fri, 1 Mar 2024 00:34:13 +0200
|
||||
Subject: [PATCH v2 2/4] wifi: rtw88: 8821cu: Fix connection failure
|
||||
|
||||
Clear bit 8 of REG_SYS_STATUS1 after MAC power on.
|
||||
|
||||
Without this, some RTL8821CU and RTL8811CU cannot connect to any
|
||||
network:
|
||||
|
||||
Feb 19 13:33:11 ideapad2 kernel: wlp3s0f3u2: send auth to
|
||||
90:55:de:__:__:__ (try 1/3)
|
||||
Feb 19 13:33:13 ideapad2 kernel: wlp3s0f3u2: send auth to
|
||||
90:55:de:__:__:__ (try 2/3)
|
||||
Feb 19 13:33:14 ideapad2 kernel: wlp3s0f3u2: send auth to
|
||||
90:55:de:__:__:__ (try 3/3)
|
||||
Feb 19 13:33:15 ideapad2 kernel: wlp3s0f3u2: authentication with
|
||||
90:55:de:__:__:__ timed out
|
||||
|
||||
The RTL8822CU and RTL8822BU out-of-tree drivers do this as well, so do
|
||||
it for all three types of chips.
|
||||
|
||||
Tested with RTL8811CU (Tenda U9 V2.0).
|
||||
|
||||
Signed-off-by: Bitterblue Smith <rtl8821cerfe2@gmail.com>
|
||||
---
|
||||
v2:
|
||||
- Check for pwr_on instead of pwr_seq == chip->pwr_on_seq.
|
||||
---
|
||||
drivers/net/wireless/realtek/rtw88/mac.c | 7 +++++++
|
||||
1 file changed, 7 insertions(+)
|
||||
|
||||
diff --git a/drivers/net/wireless/realtek/rtw88/mac.c b/drivers/net/wireless/realtek/rtw88/mac.c
|
||||
index 298663b03580..0c1c1ff31085 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw88/mac.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw88/mac.c
|
||||
@@ -309,6 +309,13 @@ static int rtw_mac_power_switch(struct rtw_dev *rtwdev, bool pwr_on)
|
||||
pwr_seq = pwr_on ? chip->pwr_on_seq : chip->pwr_off_seq;
|
||||
ret = rtw_pwr_seq_parser(rtwdev, pwr_seq);
|
||||
|
||||
+ if (pwr_on && rtw_hci_type(rtwdev) == RTW_HCI_TYPE_USB) {
|
||||
+ if (chip->id == RTW_CHIP_TYPE_8822C ||
|
||||
+ chip->id == RTW_CHIP_TYPE_8822B ||
|
||||
+ chip->id == RTW_CHIP_TYPE_8821C)
|
||||
+ rtw_write8_clr(rtwdev, REG_SYS_STATUS1 + 1, BIT(0));
|
||||
+ }
|
||||
+
|
||||
if (rtw_hci_type(rtwdev) == RTW_HCI_TYPE_SDIO)
|
||||
rtw_write32(rtwdev, REG_SDIO_HIMR, imr);
|
||||
|
||||
--
|
||||
2.43.2
|
||||
|
||||
From 3b25c78f92268d44d0c3c8201a302f49a841c0a1 Mon Sep 17 00:00:00 2001
|
||||
From: Larry Finger <Larry.Finger@gmail.com>
|
||||
Date: Tue, 27 Feb 2024 02:34:40 +0000
|
||||
Subject: [PATCHi V2] wifi: rtw88: Add missing VID/PIDs doe 8811CU and 8821CU
|
||||
|
||||
From: Nick Morrow <morrownr@gmail.com>
|
||||
|
||||
Purpose: Add VID/PIDs that are known to be missing for this driver.
|
||||
- removed /* 8811CU */ and /* 8821CU */ as they are redundant
|
||||
since the file is specific to those chips.
|
||||
- removed /* TOTOLINK A650UA v3 */ as the manufacturer. It has a REALTEK
|
||||
VID so it may not be specific to this adapter.
|
||||
|
||||
Source is https://1EHFQ.trk.elasticemail.com/tracking/click?d=I82H0YR_W_h175Lb3Nkb0D8i6IqvuhESe0WLnY6P7IVwR1UKvB0SPxd1Olp3PNJEJTqsu4kyqBXayE0BVd_k7uLFvlTe65Syx2uqLUB-UQSfsKKLkuyE-frMZXSCL7q824UG3Oer614GGEeEz-DNEWHh43p_e8oz7OouS6gRBEng0
|
||||
Verified and tested.
|
||||
|
||||
Signed-off-by: Nick Morrow <morrownr@gmail.com>
|
||||
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
|
||||
Acked-by: Ping-Ke Shih <pkshih@realtek.com>
|
||||
|
||||
---
|
||||
.../net/wireless/realtek/rtw88/rtw8821cu.c | 40 ++++++++++++-------
|
||||
1 file changed, 26 insertions(+), 14 deletions(-)
|
||||
|
||||
diff --git a/drivers/net/wireless/realtek/rtw88/rtw8821cu.c b/drivers/net/wireless/realtek/rtw88/rtw8821cu.c
|
||||
index 7a5cbdc31ef7..e2c7d9f87683 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw88/rtw8821cu.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw88/rtw8821cu.c
|
||||
@@ -9,24 +9,36 @@
|
||||
#include "usb.h"
|
||||
|
||||
static const struct usb_device_id rtw_8821cu_id_table[] = {
|
||||
- { USB_DEVICE_AND_INTERFACE_INFO(RTW_USB_VENDOR_ID_REALTEK, 0xb82b, 0xff, 0xff, 0xff),
|
||||
- .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) }, /* 8821CU */
|
||||
+ { USB_DEVICE_AND_INTERFACE_INFO(RTW_USB_VENDOR_ID_REALTEK, 0x2006, 0xff, 0xff, 0xff),
|
||||
+ .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) },
|
||||
+ { USB_DEVICE_AND_INTERFACE_INFO(RTW_USB_VENDOR_ID_REALTEK, 0x8731, 0xff, 0xff, 0xff),
|
||||
+ .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) },
|
||||
+ { USB_DEVICE_AND_INTERFACE_INFO(RTW_USB_VENDOR_ID_REALTEK, 0x8811, 0xff, 0xff, 0xff),
|
||||
+ .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) },
|
||||
{ USB_DEVICE_AND_INTERFACE_INFO(RTW_USB_VENDOR_ID_REALTEK, 0xb820, 0xff, 0xff, 0xff),
|
||||
- .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) }, /* 8821CU */
|
||||
- { USB_DEVICE_AND_INTERFACE_INFO(RTW_USB_VENDOR_ID_REALTEK, 0xc821, 0xff, 0xff, 0xff),
|
||||
- .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) }, /* 8821CU */
|
||||
+ .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) },
|
||||
+ { USB_DEVICE_AND_INTERFACE_INFO(RTW_USB_VENDOR_ID_REALTEK, 0xb82b, 0xff, 0xff, 0xff),
|
||||
+ .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) },
|
||||
+ { USB_DEVICE_AND_INTERFACE_INFO(RTW_USB_VENDOR_ID_REALTEK, 0xc80c, 0xff, 0xff, 0xff),
|
||||
+ .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) },
|
||||
+ { USB_DEVICE_AND_INTERFACE_INFO(RTW_USB_VENDOR_ID_REALTEK, 0xc811, 0xff, 0xff, 0xff),
|
||||
+ .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) },
|
||||
{ USB_DEVICE_AND_INTERFACE_INFO(RTW_USB_VENDOR_ID_REALTEK, 0xc820, 0xff, 0xff, 0xff),
|
||||
- .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) }, /* 8821CU */
|
||||
+ .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) },
|
||||
+ { USB_DEVICE_AND_INTERFACE_INFO(RTW_USB_VENDOR_ID_REALTEK, 0xc821, 0xff, 0xff, 0xff),
|
||||
+ .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) },
|
||||
{ USB_DEVICE_AND_INTERFACE_INFO(RTW_USB_VENDOR_ID_REALTEK, 0xc82a, 0xff, 0xff, 0xff),
|
||||
- .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) }, /* 8821CU */
|
||||
+ .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) },
|
||||
{ USB_DEVICE_AND_INTERFACE_INFO(RTW_USB_VENDOR_ID_REALTEK, 0xc82b, 0xff, 0xff, 0xff),
|
||||
- .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) }, /* 8821CU */
|
||||
- { USB_DEVICE_AND_INTERFACE_INFO(RTW_USB_VENDOR_ID_REALTEK, 0xc811, 0xff, 0xff, 0xff),
|
||||
- .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) }, /* 8811CU */
|
||||
- { USB_DEVICE_AND_INTERFACE_INFO(RTW_USB_VENDOR_ID_REALTEK, 0x8811, 0xff, 0xff, 0xff),
|
||||
- .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) }, /* 8811CU */
|
||||
- { USB_DEVICE_AND_INTERFACE_INFO(RTW_USB_VENDOR_ID_REALTEK, 0x2006, 0xff, 0xff, 0xff),
|
||||
- .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) }, /* TOTOLINK A650UA v3 */
|
||||
+ .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) },
|
||||
+ { USB_DEVICE_AND_INTERFACE_INFO(RTW_USB_VENDOR_ID_REALTEK, 0xc82c, 0xff, 0xff, 0xff),
|
||||
+ .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) },
|
||||
+ { USB_DEVICE_AND_INTERFACE_INFO(0x2001, 0x331d, 0xff, 0xff, 0xff),
|
||||
+ .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) }, /* D-Link */
|
||||
+ { USB_DEVICE_AND_INTERFACE_INFO(0x7392, 0xc811, 0xff, 0xff, 0xff),
|
||||
+ .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) }, /* Edimax */
|
||||
+ { USB_DEVICE_AND_INTERFACE_INFO(0x7392, 0xd811, 0xff, 0xff, 0xff),
|
||||
+ .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) }, /* Edimax */
|
||||
{},
|
||||
};
|
||||
MODULE_DEVICE_TABLE(usb, rtw_8821cu_id_table);
|
||||
--
|
||||
2.43.2
|
||||
|
||||
|
||||
@ -1,135 +0,0 @@
|
||||
From 3b25c78f92268d44d0c3c8201a302f49a841c0a1 Mon Sep 17 00:00:00 2001
|
||||
From: Bitterblue Smith <rtl8821cerfe2@gmail.com>
|
||||
Date: Fri, 1 Mar 2024 00:34:13 +0200
|
||||
Subject: [PATCH v2 2/4] wifi: rtw88: 8821cu: Fix connection failure
|
||||
|
||||
Clear bit 8 of REG_SYS_STATUS1 after MAC power on.
|
||||
|
||||
Without this, some RTL8821CU and RTL8811CU cannot connect to any
|
||||
network:
|
||||
|
||||
Feb 19 13:33:11 ideapad2 kernel: wlp3s0f3u2: send auth to
|
||||
90:55:de:__:__:__ (try 1/3)
|
||||
Feb 19 13:33:13 ideapad2 kernel: wlp3s0f3u2: send auth to
|
||||
90:55:de:__:__:__ (try 2/3)
|
||||
Feb 19 13:33:14 ideapad2 kernel: wlp3s0f3u2: send auth to
|
||||
90:55:de:__:__:__ (try 3/3)
|
||||
Feb 19 13:33:15 ideapad2 kernel: wlp3s0f3u2: authentication with
|
||||
90:55:de:__:__:__ timed out
|
||||
|
||||
The RTL8822CU and RTL8822BU out-of-tree drivers do this as well, so do
|
||||
it for all three types of chips.
|
||||
|
||||
Tested with RTL8811CU (Tenda U9 V2.0).
|
||||
|
||||
Signed-off-by: Bitterblue Smith <rtl8821cerfe2@gmail.com>
|
||||
---
|
||||
v2:
|
||||
- Check for pwr_on instead of pwr_seq == chip->pwr_on_seq.
|
||||
---
|
||||
drivers/net/wireless/realtek/rtw88/mac.c | 7 +++++++
|
||||
1 file changed, 7 insertions(+)
|
||||
|
||||
diff --git a/drivers/net/wireless/realtek/rtw88/mac.c b/drivers/net/wireless/realtek/rtw88/mac.c
|
||||
index 298663b03580..0c1c1ff31085 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw88/mac.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw88/mac.c
|
||||
@@ -309,6 +309,13 @@ static int rtw_mac_power_switch(struct rtw_dev *rtwdev, bool pwr_on)
|
||||
pwr_seq = pwr_on ? chip->pwr_on_seq : chip->pwr_off_seq;
|
||||
ret = rtw_pwr_seq_parser(rtwdev, pwr_seq);
|
||||
|
||||
+ if (pwr_on && rtw_hci_type(rtwdev) == RTW_HCI_TYPE_USB) {
|
||||
+ if (chip->id == RTW_CHIP_TYPE_8822C ||
|
||||
+ chip->id == RTW_CHIP_TYPE_8822B ||
|
||||
+ chip->id == RTW_CHIP_TYPE_8821C)
|
||||
+ rtw_write8_clr(rtwdev, REG_SYS_STATUS1 + 1, BIT(0));
|
||||
+ }
|
||||
+
|
||||
if (rtw_hci_type(rtwdev) == RTW_HCI_TYPE_SDIO)
|
||||
rtw_write32(rtwdev, REG_SDIO_HIMR, imr);
|
||||
|
||||
--
|
||||
2.43.2
|
||||
|
||||
From 3b25c78f92268d44d0c3c8201a302f49a841c0a1 Mon Sep 17 00:00:00 2001
|
||||
From: Larry Finger <Larry.Finger@gmail.com>
|
||||
Date: Tue, 27 Feb 2024 02:34:40 +0000
|
||||
Subject: [PATCHi V2] wifi: rtw88: Add missing VID/PIDs doe 8811CU and 8821CU
|
||||
|
||||
From: Nick Morrow <morrownr@gmail.com>
|
||||
|
||||
Purpose: Add VID/PIDs that are known to be missing for this driver.
|
||||
- removed /* 8811CU */ and /* 8821CU */ as they are redundant
|
||||
since the file is specific to those chips.
|
||||
- removed /* TOTOLINK A650UA v3 */ as the manufacturer. It has a REALTEK
|
||||
VID so it may not be specific to this adapter.
|
||||
|
||||
Source is https://1EHFQ.trk.elasticemail.com/tracking/click?d=I82H0YR_W_h175Lb3Nkb0D8i6IqvuhESe0WLnY6P7IVwR1UKvB0SPxd1Olp3PNJEJTqsu4kyqBXayE0BVd_k7uLFvlTe65Syx2uqLUB-UQSfsKKLkuyE-frMZXSCL7q824UG3Oer614GGEeEz-DNEWHh43p_e8oz7OouS6gRBEng0
|
||||
Verified and tested.
|
||||
|
||||
Signed-off-by: Nick Morrow <morrownr@gmail.com>
|
||||
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
|
||||
Acked-by: Ping-Ke Shih <pkshih@realtek.com>
|
||||
|
||||
---
|
||||
.../net/wireless/realtek/rtw88/rtw8821cu.c | 40 ++++++++++++-------
|
||||
1 file changed, 26 insertions(+), 14 deletions(-)
|
||||
|
||||
diff --git a/drivers/net/wireless/realtek/rtw88/rtw8821cu.c b/drivers/net/wireless/realtek/rtw88/rtw8821cu.c
|
||||
index 7a5cbdc31ef7..e2c7d9f87683 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw88/rtw8821cu.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw88/rtw8821cu.c
|
||||
@@ -9,24 +9,36 @@
|
||||
#include "usb.h"
|
||||
|
||||
static const struct usb_device_id rtw_8821cu_id_table[] = {
|
||||
- { USB_DEVICE_AND_INTERFACE_INFO(RTW_USB_VENDOR_ID_REALTEK, 0xb82b, 0xff, 0xff, 0xff),
|
||||
- .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) }, /* 8821CU */
|
||||
+ { USB_DEVICE_AND_INTERFACE_INFO(RTW_USB_VENDOR_ID_REALTEK, 0x2006, 0xff, 0xff, 0xff),
|
||||
+ .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) },
|
||||
+ { USB_DEVICE_AND_INTERFACE_INFO(RTW_USB_VENDOR_ID_REALTEK, 0x8731, 0xff, 0xff, 0xff),
|
||||
+ .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) },
|
||||
+ { USB_DEVICE_AND_INTERFACE_INFO(RTW_USB_VENDOR_ID_REALTEK, 0x8811, 0xff, 0xff, 0xff),
|
||||
+ .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) },
|
||||
{ USB_DEVICE_AND_INTERFACE_INFO(RTW_USB_VENDOR_ID_REALTEK, 0xb820, 0xff, 0xff, 0xff),
|
||||
- .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) }, /* 8821CU */
|
||||
- { USB_DEVICE_AND_INTERFACE_INFO(RTW_USB_VENDOR_ID_REALTEK, 0xc821, 0xff, 0xff, 0xff),
|
||||
- .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) }, /* 8821CU */
|
||||
+ .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) },
|
||||
+ { USB_DEVICE_AND_INTERFACE_INFO(RTW_USB_VENDOR_ID_REALTEK, 0xb82b, 0xff, 0xff, 0xff),
|
||||
+ .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) },
|
||||
+ { USB_DEVICE_AND_INTERFACE_INFO(RTW_USB_VENDOR_ID_REALTEK, 0xc80c, 0xff, 0xff, 0xff),
|
||||
+ .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) },
|
||||
+ { USB_DEVICE_AND_INTERFACE_INFO(RTW_USB_VENDOR_ID_REALTEK, 0xc811, 0xff, 0xff, 0xff),
|
||||
+ .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) },
|
||||
{ USB_DEVICE_AND_INTERFACE_INFO(RTW_USB_VENDOR_ID_REALTEK, 0xc820, 0xff, 0xff, 0xff),
|
||||
- .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) }, /* 8821CU */
|
||||
+ .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) },
|
||||
+ { USB_DEVICE_AND_INTERFACE_INFO(RTW_USB_VENDOR_ID_REALTEK, 0xc821, 0xff, 0xff, 0xff),
|
||||
+ .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) },
|
||||
{ USB_DEVICE_AND_INTERFACE_INFO(RTW_USB_VENDOR_ID_REALTEK, 0xc82a, 0xff, 0xff, 0xff),
|
||||
- .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) }, /* 8821CU */
|
||||
+ .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) },
|
||||
{ USB_DEVICE_AND_INTERFACE_INFO(RTW_USB_VENDOR_ID_REALTEK, 0xc82b, 0xff, 0xff, 0xff),
|
||||
- .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) }, /* 8821CU */
|
||||
- { USB_DEVICE_AND_INTERFACE_INFO(RTW_USB_VENDOR_ID_REALTEK, 0xc811, 0xff, 0xff, 0xff),
|
||||
- .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) }, /* 8811CU */
|
||||
- { USB_DEVICE_AND_INTERFACE_INFO(RTW_USB_VENDOR_ID_REALTEK, 0x8811, 0xff, 0xff, 0xff),
|
||||
- .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) }, /* 8811CU */
|
||||
- { USB_DEVICE_AND_INTERFACE_INFO(RTW_USB_VENDOR_ID_REALTEK, 0x2006, 0xff, 0xff, 0xff),
|
||||
- .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) }, /* TOTOLINK A650UA v3 */
|
||||
+ .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) },
|
||||
+ { USB_DEVICE_AND_INTERFACE_INFO(RTW_USB_VENDOR_ID_REALTEK, 0xc82c, 0xff, 0xff, 0xff),
|
||||
+ .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) },
|
||||
+ { USB_DEVICE_AND_INTERFACE_INFO(0x2001, 0x331d, 0xff, 0xff, 0xff),
|
||||
+ .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) }, /* D-Link */
|
||||
+ { USB_DEVICE_AND_INTERFACE_INFO(0x7392, 0xc811, 0xff, 0xff, 0xff),
|
||||
+ .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) }, /* Edimax */
|
||||
+ { USB_DEVICE_AND_INTERFACE_INFO(0x7392, 0xd811, 0xff, 0xff, 0xff),
|
||||
+ .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) }, /* Edimax */
|
||||
{},
|
||||
};
|
||||
MODULE_DEVICE_TABLE(usb, rtw_8821cu_id_table);
|
||||
--
|
||||
2.43.2
|
||||
|
||||
@ -1,135 +0,0 @@
|
||||
From 3b25c78f92268d44d0c3c8201a302f49a841c0a1 Mon Sep 17 00:00:00 2001
|
||||
From: Bitterblue Smith <rtl8821cerfe2@gmail.com>
|
||||
Date: Fri, 1 Mar 2024 00:34:13 +0200
|
||||
Subject: [PATCH v2 2/4] wifi: rtw88: 8821cu: Fix connection failure
|
||||
|
||||
Clear bit 8 of REG_SYS_STATUS1 after MAC power on.
|
||||
|
||||
Without this, some RTL8821CU and RTL8811CU cannot connect to any
|
||||
network:
|
||||
|
||||
Feb 19 13:33:11 ideapad2 kernel: wlp3s0f3u2: send auth to
|
||||
90:55:de:__:__:__ (try 1/3)
|
||||
Feb 19 13:33:13 ideapad2 kernel: wlp3s0f3u2: send auth to
|
||||
90:55:de:__:__:__ (try 2/3)
|
||||
Feb 19 13:33:14 ideapad2 kernel: wlp3s0f3u2: send auth to
|
||||
90:55:de:__:__:__ (try 3/3)
|
||||
Feb 19 13:33:15 ideapad2 kernel: wlp3s0f3u2: authentication with
|
||||
90:55:de:__:__:__ timed out
|
||||
|
||||
The RTL8822CU and RTL8822BU out-of-tree drivers do this as well, so do
|
||||
it for all three types of chips.
|
||||
|
||||
Tested with RTL8811CU (Tenda U9 V2.0).
|
||||
|
||||
Signed-off-by: Bitterblue Smith <rtl8821cerfe2@gmail.com>
|
||||
---
|
||||
v2:
|
||||
- Check for pwr_on instead of pwr_seq == chip->pwr_on_seq.
|
||||
---
|
||||
drivers/net/wireless/realtek/rtw88/mac.c | 7 +++++++
|
||||
1 file changed, 7 insertions(+)
|
||||
|
||||
diff --git a/drivers/net/wireless/realtek/rtw88/mac.c b/drivers/net/wireless/realtek/rtw88/mac.c
|
||||
index 298663b03580..0c1c1ff31085 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw88/mac.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw88/mac.c
|
||||
@@ -309,6 +309,13 @@ static int rtw_mac_power_switch(struct rtw_dev *rtwdev, bool pwr_on)
|
||||
pwr_seq = pwr_on ? chip->pwr_on_seq : chip->pwr_off_seq;
|
||||
ret = rtw_pwr_seq_parser(rtwdev, pwr_seq);
|
||||
|
||||
+ if (pwr_on && rtw_hci_type(rtwdev) == RTW_HCI_TYPE_USB) {
|
||||
+ if (chip->id == RTW_CHIP_TYPE_8822C ||
|
||||
+ chip->id == RTW_CHIP_TYPE_8822B ||
|
||||
+ chip->id == RTW_CHIP_TYPE_8821C)
|
||||
+ rtw_write8_clr(rtwdev, REG_SYS_STATUS1 + 1, BIT(0));
|
||||
+ }
|
||||
+
|
||||
if (rtw_hci_type(rtwdev) == RTW_HCI_TYPE_SDIO)
|
||||
rtw_write32(rtwdev, REG_SDIO_HIMR, imr);
|
||||
|
||||
--
|
||||
2.43.2
|
||||
|
||||
From 3b25c78f92268d44d0c3c8201a302f49a841c0a1 Mon Sep 17 00:00:00 2001
|
||||
From: Larry Finger <Larry.Finger@gmail.com>
|
||||
Date: Tue, 27 Feb 2024 02:34:40 +0000
|
||||
Subject: [PATCHi V2] wifi: rtw88: Add missing VID/PIDs doe 8811CU and 8821CU
|
||||
|
||||
From: Nick Morrow <morrownr@gmail.com>
|
||||
|
||||
Purpose: Add VID/PIDs that are known to be missing for this driver.
|
||||
- removed /* 8811CU */ and /* 8821CU */ as they are redundant
|
||||
since the file is specific to those chips.
|
||||
- removed /* TOTOLINK A650UA v3 */ as the manufacturer. It has a REALTEK
|
||||
VID so it may not be specific to this adapter.
|
||||
|
||||
Source is https://1EHFQ.trk.elasticemail.com/tracking/click?d=I82H0YR_W_h175Lb3Nkb0D8i6IqvuhESe0WLnY6P7IVwR1UKvB0SPxd1Olp3PNJEJTqsu4kyqBXayE0BVd_k7uLFvlTe65Syx2uqLUB-UQSfsKKLkuyE-frMZXSCL7q824UG3Oer614GGEeEz-DNEWHh43p_e8oz7OouS6gRBEng0
|
||||
Verified and tested.
|
||||
|
||||
Signed-off-by: Nick Morrow <morrownr@gmail.com>
|
||||
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
|
||||
Acked-by: Ping-Ke Shih <pkshih@realtek.com>
|
||||
|
||||
---
|
||||
.../net/wireless/realtek/rtw88/rtw8821cu.c | 40 ++++++++++++-------
|
||||
1 file changed, 26 insertions(+), 14 deletions(-)
|
||||
|
||||
diff --git a/drivers/net/wireless/realtek/rtw88/rtw8821cu.c b/drivers/net/wireless/realtek/rtw88/rtw8821cu.c
|
||||
index 7a5cbdc31ef7..e2c7d9f87683 100644
|
||||
--- a/drivers/net/wireless/realtek/rtw88/rtw8821cu.c
|
||||
+++ b/drivers/net/wireless/realtek/rtw88/rtw8821cu.c
|
||||
@@ -9,24 +9,36 @@
|
||||
#include "usb.h"
|
||||
|
||||
static const struct usb_device_id rtw_8821cu_id_table[] = {
|
||||
- { USB_DEVICE_AND_INTERFACE_INFO(RTW_USB_VENDOR_ID_REALTEK, 0xb82b, 0xff, 0xff, 0xff),
|
||||
- .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) }, /* 8821CU */
|
||||
+ { USB_DEVICE_AND_INTERFACE_INFO(RTW_USB_VENDOR_ID_REALTEK, 0x2006, 0xff, 0xff, 0xff),
|
||||
+ .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) },
|
||||
+ { USB_DEVICE_AND_INTERFACE_INFO(RTW_USB_VENDOR_ID_REALTEK, 0x8731, 0xff, 0xff, 0xff),
|
||||
+ .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) },
|
||||
+ { USB_DEVICE_AND_INTERFACE_INFO(RTW_USB_VENDOR_ID_REALTEK, 0x8811, 0xff, 0xff, 0xff),
|
||||
+ .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) },
|
||||
{ USB_DEVICE_AND_INTERFACE_INFO(RTW_USB_VENDOR_ID_REALTEK, 0xb820, 0xff, 0xff, 0xff),
|
||||
- .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) }, /* 8821CU */
|
||||
- { USB_DEVICE_AND_INTERFACE_INFO(RTW_USB_VENDOR_ID_REALTEK, 0xc821, 0xff, 0xff, 0xff),
|
||||
- .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) }, /* 8821CU */
|
||||
+ .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) },
|
||||
+ { USB_DEVICE_AND_INTERFACE_INFO(RTW_USB_VENDOR_ID_REALTEK, 0xb82b, 0xff, 0xff, 0xff),
|
||||
+ .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) },
|
||||
+ { USB_DEVICE_AND_INTERFACE_INFO(RTW_USB_VENDOR_ID_REALTEK, 0xc80c, 0xff, 0xff, 0xff),
|
||||
+ .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) },
|
||||
+ { USB_DEVICE_AND_INTERFACE_INFO(RTW_USB_VENDOR_ID_REALTEK, 0xc811, 0xff, 0xff, 0xff),
|
||||
+ .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) },
|
||||
{ USB_DEVICE_AND_INTERFACE_INFO(RTW_USB_VENDOR_ID_REALTEK, 0xc820, 0xff, 0xff, 0xff),
|
||||
- .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) }, /* 8821CU */
|
||||
+ .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) },
|
||||
+ { USB_DEVICE_AND_INTERFACE_INFO(RTW_USB_VENDOR_ID_REALTEK, 0xc821, 0xff, 0xff, 0xff),
|
||||
+ .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) },
|
||||
{ USB_DEVICE_AND_INTERFACE_INFO(RTW_USB_VENDOR_ID_REALTEK, 0xc82a, 0xff, 0xff, 0xff),
|
||||
- .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) }, /* 8821CU */
|
||||
+ .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) },
|
||||
{ USB_DEVICE_AND_INTERFACE_INFO(RTW_USB_VENDOR_ID_REALTEK, 0xc82b, 0xff, 0xff, 0xff),
|
||||
- .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) }, /* 8821CU */
|
||||
- { USB_DEVICE_AND_INTERFACE_INFO(RTW_USB_VENDOR_ID_REALTEK, 0xc811, 0xff, 0xff, 0xff),
|
||||
- .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) }, /* 8811CU */
|
||||
- { USB_DEVICE_AND_INTERFACE_INFO(RTW_USB_VENDOR_ID_REALTEK, 0x8811, 0xff, 0xff, 0xff),
|
||||
- .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) }, /* 8811CU */
|
||||
- { USB_DEVICE_AND_INTERFACE_INFO(RTW_USB_VENDOR_ID_REALTEK, 0x2006, 0xff, 0xff, 0xff),
|
||||
- .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) }, /* TOTOLINK A650UA v3 */
|
||||
+ .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) },
|
||||
+ { USB_DEVICE_AND_INTERFACE_INFO(RTW_USB_VENDOR_ID_REALTEK, 0xc82c, 0xff, 0xff, 0xff),
|
||||
+ .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) },
|
||||
+ { USB_DEVICE_AND_INTERFACE_INFO(0x2001, 0x331d, 0xff, 0xff, 0xff),
|
||||
+ .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) }, /* D-Link */
|
||||
+ { USB_DEVICE_AND_INTERFACE_INFO(0x7392, 0xc811, 0xff, 0xff, 0xff),
|
||||
+ .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) }, /* Edimax */
|
||||
+ { USB_DEVICE_AND_INTERFACE_INFO(0x7392, 0xd811, 0xff, 0xff, 0xff),
|
||||
+ .driver_info = (kernel_ulong_t)&(rtw8821c_hw_spec) }, /* Edimax */
|
||||
{},
|
||||
};
|
||||
MODULE_DEVICE_TABLE(usb, rtw_8821cu_id_table);
|
||||
--
|
||||
2.43.2
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user