[PATCH 00/40][SRU][Lunar/OEM-6.1] Wireless: Enable RTL8852BE wifi driver

Koba Ko koba.ko at canonical.com
Thu Jan 12 06:36:39 UTC 2023


BugLink: https://bugs.launchpad.net/bugs/2002601

[Justification]
Enable Realtek RLT8852BE WIFI.

[Test]
1. put rtw8852b_fw.bin in /lib/firmware/rtw89/
2. boot-up with kernel enabled RTL8852be.
3. Connect to WIFI-AP and test with ping.

* ping -I wlp2s0 8.8.8.8
~~
PING 8.8.8.8 (8.8.8.8) from 10.102.137.55 wlp2s0: 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=116 time=5.86 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=116 time=6.21 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=116 time=18.9 ms
64 bytes from 8.8.8.8: icmp_seq=4 ttl=116 time=6.09 ms
64 bytes from 8.8.8.8: icmp_seq=5 ttl=116 time=6.13 ms
64 bytes from 8.8.8.8: icmp_seq=6 ttl=116 time=5.77 ms
~~
* Connected to AP
~~
u at ubuntu:~$ nmcli dev
DEVICE TYPE STATE CONNECTION
enp3s0 ethernet connected Wired connection 1
wlp2s0 wifi connected Canonical
p2p-dev-wlp2s0 wifi-p2p disconnected --
lo loopback unmanaged --
~~
* lsmod | grep 8852
~~
lsmod | grep 8852
rtw89_8852be 16384 0
rtw89_8852b 368640 1 rtw89_8852be
rtw89_pci 61440 1 rtw89_8852be
rtw89_core 442368 2 rtw89_8852b,rtw89_pci
cfg80211 1081344 3 rtw89_8852b,rtw89_core,mac80211
~~

4. cbd's built result,
Lunar,
~~
remote: Resolving deltas: 100% (391/391), completed with 118 local objects.
remote: *** kernel-cbd *********************************************************
remote: * Queueing builds (your 'u_lMstrNxt'); ok to interrupt
remote: * For results: ssh cbd ls kobako-lunar-0e58018b43c1-ioeM
remote: * 96/480 cores busy (1/5 hosts), 0 builds queued
remote: 2023-01-12 03:16:35 kobako-lunar-0e58018b43c1-ioeM/amd64/BUILD-OK
remote: 2023-01-12 03:17:47 kobako-lunar-0e58018b43c1-ioeM/arm64/BUILD-OK
remote: 2023-01-12 03:11:36 kobako-lunar-0e58018b43c1-ioeM/armhf/BUILD-OK
remote: 2023-01-12 03:16:30 kobako-lunar-0e58018b43c1-ioeM/ppc64el/BUILD-OK
remote: 2023-01-12 03:10:24 kobako-lunar-0e58018b43c1-ioeM/s390x/BUILD-OK
remote: ************************************************************************
To cbd:lunar.git
~~
OEM-6.1,
remote: Resolving deltas: 100% (399/399), completed with 121 local objects.
remote: *** kernel-cbd *********************************************************
remote: * Queueing builds (your 'oem-6.1-next'); ok to interrupt
remote: * For results: ssh cbd ls kobako-jammy-c1002f30ccc3-m65z
remote: * 0/192 cores busy (0/2 hosts), 0 builds queued
remote: 2023-01-12 05:25:23 kobako-jammy-c1002f30ccc3-m65z/amd64/BUILD-OK
remote: ************************************************************************
To cbd:jammy.git

[Where problems could occur]
Medium, a new driver so the current driver may have some edge cases didn't consider.

[Misc]
For generic Jammy, need more patches to enable RTL8852be so only SRU for OEM-6.1.

Alexander Wetzel (2):
  [Lunar/OEM-6.1] wifi: mac80211: add internal handler for
    wake_tx_queue
  [Lunar/OEM-6.1] wifi: mac80211: add wake_tx_queue callback to
    drivers

Ching-Te Ku (1):
  [Lunar/OEM-6.1] wifi: rtw89: coex: move chip_ops::btc_bt_aci_imp
    to a generic code

Eric Huang (1):
  [Lunar/OEM-6.1] wifi: rtw89: parse PHY status only when PPDU is
    to_self

Johannes Berg (1):
  [Lunar/OEM-6.1] wifi: realtek: remove duplicated wake_tx_queue

Koba Ko (1):
  [OEM-6.1] UBUNTU: [Config] Enable CONFIG_RTW89_8852B and
    CONFIG_RTW89_8852BE

Ping-Ke Shih (30):
  [Lunar/OEM-6.1] wifi: rtw89: 8852b: add BB and RF tables (1 of 2)
  [Lunar/OEM-6.1] wifi: rtw89: 8852b: add BB and RF tables (2 of 2)
  [Lunar/OEM-6.1] wifi: rtw89: 8852b: add tables for RFK
  [Lunar/OEM-6.1] wifi: rtw89: 8852b: add chip_ops::set_txpwr
  [Lunar/OEM-6.1] wifi: rtw89: 8852b: add chip_ops to read efuse
  [Lunar/OEM-6.1] wifi: rtw89: 8852b: add chip_ops to read phy cap
  [Lunar/OEM-6.1] wifi: rtw89: 8852be: add 8852BE PCI entry
  [Lunar/OEM-6.1] wifi: rtw89: phy: ignore warning of bb gain
    cfg_type 4
  [Lunar/OEM-6.1] wifi: rtw89: 8852b: set proper configuration
    before loading NCTL
  [Lunar/OEM-6.1] wifi: rtw89: 8852b: add HFC quota arrays
  [Lunar/OEM-6.1] wifi: rtw89: make generic functions to convert
    subband gain index
  [Lunar/OEM-6.1] wifi: rtw89: 8852b: add chip_ops::set_channel
  [Lunar/OEM-6.1] wifi: rtw89: 8852b: add
    chip_ops::set_channel_help
  [Lunar/OEM-6.1] wifi: rtw89: 8852b: add power on/off functions
  [Lunar/OEM-6.1] wifi: rtw89: 8852b: add basic baseband chip_ops
  [Lunar/OEM-6.1] wifi: rtw89: 8852b: add chip_ops to get thermal
  [Lunar/OEM-6.1] wifi: rtw89: 8852b: add chip_ops related to BT
    coexistence
  [Lunar/OEM-6.1] wifi: rtw89: 8852b: add chip_ops to query PPDU
  [Lunar/OEM-6.1] wifi: rtw89: 8852b: add chip_ops to configure
    TX/RX path
  [Lunar/OEM-6.1] wifi: rtw89: 8852b: add functions to control BB
    to assist RF calibrations
  [Lunar/OEM-6.1] wifi: rtw89: 8852b: add basic attributes of
    chip_info
  [Lunar/OEM-6.1] wifi: rtw89: 8852b: rfk: add DACK
  [Lunar/OEM-6.1] wifi: rtw89: 8852b: rfk: add RCK
  [Lunar/OEM-6.1] wifi: rtw89: 8852b: rfk: add RX DCK
  [Lunar/OEM-6.1] wifi: rtw89: 8852b: rfk: add IQK
  [Lunar/OEM-6.1] wifi: rtw89: 8852b: rfk: add TSSI
  [Lunar/OEM-6.1] wifi: rtw89: 8852b: rfk: add DPK
  [Lunar/OEM-6.1] wifi: rtw89: 8852b: add chip_ops related to RF
    calibration
  [Lunar/OEM-6.1] wifi: rtw89: phy: add dummy C2H handler to avoid
    warning message
  [Lunar/OEM-6.1] wifi: rtw89: 8852b: add 8852be to Makefile and
    Kconfig

Po-Hao Huang (1):
  [Lunar/OEM-6.1] wifi: rtw89: correct 6 GHz scan behavior

Zong-Zhe Yang (2):
  [Lunar/OEM-6.1] wifi: rtw89: phy: make generic txpwr setting
    functions
  [Lunar/OEM-6.1] wifi: rtw89: debug: txpwr_table considers sign

 debian.oem/config/annotations                 |     2 +
 drivers/net/wireless/admtek/adm8211.c         |     1 +
 drivers/net/wireless/ath/ar5523/ar5523.c      |     1 +
 drivers/net/wireless/ath/ath11k/mac.c         |     1 +
 drivers/net/wireless/ath/ath5k/mac80211-ops.c |     1 +
 drivers/net/wireless/ath/ath9k/htc_drv_main.c |     1 +
 drivers/net/wireless/ath/carl9170/main.c      |     1 +
 drivers/net/wireless/ath/wcn36xx/main.c       |     1 +
 drivers/net/wireless/atmel/at76c50x-usb.c     |     1 +
 drivers/net/wireless/broadcom/b43/main.c      |     1 +
 .../net/wireless/broadcom/b43legacy/main.c    |     1 +
 .../broadcom/brcm80211/brcmsmac/mac80211_if.c |     1 +
 .../net/wireless/intel/iwlegacy/4045-mac.c    |     1 +
 .../net/wireless/intel/iwlegacy/4965-mac.c    |     1 +
 .../net/wireless/intel/iwlwifi/dvm/mac80211.c |     1 +
 drivers/net/wireless/intersil/p54/main.c      |     1 +
 drivers/net/wireless/mac80211_hwsim.c         |     1 +
 .../net/wireless/marvell/libertas_tf/main.c   |     1 +
 drivers/net/wireless/marvell/mwl8k.c          |     1 +
 drivers/net/wireless/mediatek/mt7601u/main.c  |     1 +
 drivers/net/wireless/purelifi/plfxlc/mac.c    |     1 +
 .../net/wireless/ralink/rt2x00/rt2400pci.c    |     1 +
 .../net/wireless/ralink/rt2x00/rt2500pci.c    |     1 +
 .../net/wireless/ralink/rt2x00/rt2500usb.c    |     1 +
 .../net/wireless/ralink/rt2x00/rt2800pci.c    |     1 +
 .../net/wireless/ralink/rt2x00/rt2800soc.c    |     1 +
 .../net/wireless/ralink/rt2x00/rt2800usb.c    |     1 +
 drivers/net/wireless/ralink/rt2x00/rt61pci.c  |     1 +
 drivers/net/wireless/ralink/rt2x00/rt73usb.c  |     1 +
 .../wireless/realtek/rtl818x/rtl8180/dev.c    |     1 +
 .../wireless/realtek/rtl818x/rtl8187/dev.c    |     1 +
 .../wireless/realtek/rtl8xxxu/rtl8xxxu_core.c |     1 +
 drivers/net/wireless/realtek/rtlwifi/core.c   |     1 +
 drivers/net/wireless/realtek/rtw89/Kconfig    |    14 +
 drivers/net/wireless/realtek/rtw89/Makefile   |     9 +
 drivers/net/wireless/realtek/rtw89/coex.c     |     9 +-
 drivers/net/wireless/realtek/rtw89/core.c     |     3 +
 drivers/net/wireless/realtek/rtw89/core.h     |    26 +-
 drivers/net/wireless/realtek/rtw89/debug.c    |    12 +-
 drivers/net/wireless/realtek/rtw89/fw.c       |    28 +-
 drivers/net/wireless/realtek/rtw89/fw.h       |     1 +
 drivers/net/wireless/realtek/rtw89/mac.c      |     1 +
 drivers/net/wireless/realtek/rtw89/mac.h      |     1 +
 drivers/net/wireless/realtek/rtw89/phy.c      |   198 +-
 drivers/net/wireless/realtek/rtw89/phy.h      |    80 +-
 drivers/net/wireless/realtek/rtw89/reg.h      |   192 +-
 drivers/net/wireless/realtek/rtw89/rtw8852a.c |   159 +-
 drivers/net/wireless/realtek/rtw89/rtw8852a.h |     1 -
 drivers/net/wireless/realtek/rtw89/rtw8852b.c |  2436 +-
 drivers/net/wireless/realtek/rtw89/rtw8852b.h |   137 +
 .../net/wireless/realtek/rtw89/rtw8852b_rfk.c |  4174 +++
 .../net/wireless/realtek/rtw89/rtw8852b_rfk.h |    25 +
 .../realtek/rtw89/rtw8852b_rfk_table.c        |   794 +
 .../realtek/rtw89/rtw8852b_rfk_table.h        |    62 +
 .../wireless/realtek/rtw89/rtw8852b_table.c   | 22877 ++++++++++++++++
 .../wireless/realtek/rtw89/rtw8852b_table.h   |    30 +
 .../net/wireless/realtek/rtw89/rtw8852be.c    |    64 +
 drivers/net/wireless/realtek/rtw89/rtw8852c.c |   205 +-
 drivers/net/wireless/realtek/rtw89/rtw8852c.h |     1 -
 drivers/net/wireless/rsi/rsi_91x_mac80211.c   |     1 +
 drivers/net/wireless/silabs/wfx/main.c        |     1 +
 drivers/net/wireless/st/cw1200/main.c         |     1 +
 drivers/net/wireless/ti/wl1251/main.c         |     1 +
 drivers/net/wireless/ti/wlcore/main.c         |     1 +
 drivers/net/wireless/zydas/zd1211rw/zd_mac.c  |     1 +
 drivers/staging/vt6655/device_main.c          |     1 +
 drivers/staging/vt6656/main_usb.c             |     1 +
 include/net/mac80211.h                        |    51 +-
 net/mac80211/util.c                           |    46 +
 69 files changed, 31263 insertions(+), 415 deletions(-)
 create mode 100644 drivers/net/wireless/realtek/rtw89/rtw8852b.h
 create mode 100644 drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.c
 create mode 100644 drivers/net/wireless/realtek/rtw89/rtw8852b_rfk.h
 create mode 100644 drivers/net/wireless/realtek/rtw89/rtw8852b_rfk_table.c
 create mode 100644 drivers/net/wireless/realtek/rtw89/rtw8852b_rfk_table.h
 create mode 100644 drivers/net/wireless/realtek/rtw89/rtw8852b_table.c
 create mode 100644 drivers/net/wireless/realtek/rtw89/rtw8852b_table.h

-- 
2.34.1




More information about the kernel-team mailing list