From b72c69dd542c4684ece8ac88ec1ba33364ec9365 Mon Sep 17 00:00:00 2001 From: Bitterblue Smith Date: Tue, 16 May 2023 12:48:23 +0300 Subject: [PATCH 1/2] rtlwifi: Update firmware for RTL8188EU to v28.0 It seems this fixes some issues with rtl8xxxu in monitor mode. r8188eu from kernel 6.2.5 still works with this new firmware. This firmware was extracted from the vendor driver v5.2.2.4 from https://github.com/lwfinger/rtl8188eu/blob/v5.2.2.4/hal8188e_t_fw.c Also, move the entry in WHENCE under the rtl8xxxu driver, because that's the driver which handles this chip from kernel 6.3 onwards. Link: https://bugzilla.kernel.org/show_bug.cgi?id=217205 Signed-off-by: Bitterblue Smith Signed-off-by: Ping-Ke Shih --- WHENCE | 16 +++++++--------- rtlwifi/rtl8188eufw.bin | Bin 13904 -> 15262 bytes 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/WHENCE b/WHENCE index 61da3444..f3bba6e5 100644 --- a/WHENCE +++ b/WHENCE @@ -2973,15 +2973,6 @@ Licence: Redistributable. See LICENCE.rtlwifi_firmware.txt for details. -------------------------------------------------------------------------- -Driver: rtl8188eu - Realtek 802.11n WLAN driver for RTL8188EU - -Info: Taken from Realtek version RTL8188EUS_linux_v4.1.4_6773.20130222 -File: rtlwifi/rtl8188eufw.bin - -Licence: Redistributable. See LICENCE.rtlwifi_firmware.txt for details. - --------------------------------------------------------------------------- - Driver: rtl8821ae - Realtek 802.11n WLAN driver for RTL8812AE Info: From Vendor's realtek/rtlwifi_linux_mac80211_0019.0320.2014V628 driver @@ -3112,6 +3103,13 @@ Version: 16.0 File: rtlwifi/rtl8710bufw_UMC.bin Version: 16.0 +Info: rtl8188eu taken from Realtek driver version + v5.2.2.4_25483.20171222. + Firmware is embedded in the driver as data statements. This info + has been extracted into a binary file. +File: rtlwifi/rtl8188eufw.bin +Version: 28.0 + Licence: Redistributable. See LICENCE.rtlwifi_firmware.txt for details. -------------------------------------------------------------------------- diff --git a/rtlwifi/rtl8188eufw.bin b/rtlwifi/rtl8188eufw.bin index 4ae7e1c5deb7846e59c461546a49679504ffed28..8bb12ea88246d2e7060a46bdeef61800c1ed1881 100644 GIT binary patch literal 15262 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 OE+=Occa@IUp8UUyqelq< From 08b854f020666a5df3d1987f6c01c8c2b780de7e Mon Sep 17 00:00:00 2001 From: Bitterblue Smith Date: Tue, 16 May 2023 13:23:48 +0300 Subject: [PATCH 2/2] rtlwifi: Add firmware v6.0 for RTL8192FU rtl8xxxu supports this chip now. The firmware was extracted from the vendor driver v5.8.6.2_35538.20191028_COEX20190910-0d02 from https://github.com/BrightX/rtl8192fu. Signed-off-by: Bitterblue Smith Signed-off-by: Ping-Ke Shih --- WHENCE | 7 +++++++ rtlwifi/rtl8192fufw.bin | Bin 0 -> 32416 bytes 2 files changed, 7 insertions(+) create mode 100644 rtlwifi/rtl8192fufw.bin diff --git a/WHENCE b/WHENCE index f3bba6e5..6762c0bc 100644 --- a/WHENCE +++ b/WHENCE @@ -3110,6 +3110,13 @@ Info: rtl8188eu taken from Realtek driver version File: rtlwifi/rtl8188eufw.bin Version: 28.0 +Info: rtl8192fu taken from Realtek driver version + v5.8.6.2_35538.20191028_COEX20190910-0d02. + Firmware is embedded in the driver as data statements. This info + has been extracted into a binary file. +File: rtlwifi/rtl8192fufw.bin +Version: 6.0 + Licence: Redistributable. See LICENCE.rtlwifi_firmware.txt for details. -------------------------------------------------------------------------- diff --git a/rtlwifi/rtl8192fufw.bin b/rtlwifi/rtl8192fufw.bin new file mode 100644 index 0000000000000000000000000000000000000000..e6aa34ba08d36cb1b9a3624c71acfc1cf25acab2 GIT binary patch literal 32416 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

Nx)m{WQkEgq)jqc86=pCF_yoBW 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