mbox series

[00/24] rtw89: add Realtek 802.11ax driver

Message ID 20210618064625.14131-1-pkshih@realtek.com
Headers show
Series rtw89: add Realtek 802.11ax driver | expand

Message

Ping-Ke Shih June 18, 2021, 6:46 a.m. UTC
This driver named rtw89, which is the next generation of rtw88, supports
Realtek 8852AE 802.11ax 2x2 chip whose new features are OFDMA, DBCC,
Spatial reuse, TWT and BSS coloring; now some of them aren't implemented
though.

The chip architecture is entirely different from the chips supported by
rtw88 like RTL8822CE 802.11ac chip. First of all, register address ranges
are totally redefined, so it's impossible to reuse register definition. To
communicate with firmware, new H2C/C2H format is proposed. In order to have
better utilization, TX DMA flow is changed to two stages DMA. To provide
rich RX status information, additional RX PPDU packets are added.

Since there are so many differences mentioned above, we decide to propose
a new driver. It has many authors, they are listed in alphabetic order:

Chin-Yen Lee <timlee@realtek.com>
Ping-Ke Shih <pkshih@realtek.com>
Po Hao Huang <phhuang@realtek.com>
Tzu-En Huang <tehuang@realtek.com>
Vincent Fann <vincent_fann@realtek.com>
Yan-Hsuan Chuang <tony0620emma@gmail.com>
Zong-Zhe Yang <kevin_yang@realtek.com>

v5:
  - add OFDMA feature
  - improve BT coexistence performance
  - improve power save mode
  - support SAR
  - fine tune performance
  - firmware: rtw89: 8852a: update fw to v0.13.24.0
    https://github.com/pkshih/linux-firmware.git 
    pick the commit a5b79c4790da3eb3690e23554225ef8db464f2c6
v4:
  - add basic BT coexistence features
  - add power save mode, so an new patch (two files) is added
  - fine tune performance
  - add debugfs for debugging coex, bb, ...
v3:
  - fix "networking block comments" reported by checkpatch
  - Add MODULE_DEVICE_TABLE() generated by Thomas Backlund <tmb@mageia.org>
  - Add missed BB settings
  - error handle of RX BD and DESC length
  - reduce debug level of C2H ACKs
  - fix rekey failure due to wrong operator
v2:
  - fix compiler warnings made by W=1
    Reported-by: kernel test robot <lkp@intel.com>
  - sort header file alphabetically
  - fix "networking block comments" reported by checkpatch

Ping-Ke Shih (24):
  rtw89: add CAM files
  rtw89: add BT coexistence files
  rtw89: add core and trx files
  rtw89: add debug files
  rtw89: add efuse files
  rtw89: add files to download and communicate with firmware
  rtw89: add MAC files
  rtw89: implement mac80211 ops
  rtw89: add pci files
  rtw89: add phy files
  rtw89: define register names
  rtw89: add regulatory support
  rtw89: 8852a: add 8852a specific files
  rtw89: 8852a: add 8852a RFK files
  rtw89: 8852a: add 8852a RFK tables
  rtw89: 8852a: add 8852a tables (1 of 5)
  rtw89: 8852a: add 8852a tables (2 of 5)
  rtw89: 8852a: add 8852a tables (3 of 5)
  rtw89: 8852a: add 8852a tables (4 of 5)
  rtw89: 8852a: add 8852a tables (5 of 5)
  rtw89: add ser to recover error reported by firmware
  rtw89: add PS files
  rtw89: add SAR files
  rtw89: add Kconfig and Makefile

 drivers/net/wireless/realtek/Kconfig          |     1 +
 drivers/net/wireless/realtek/Makefile         |     1 +
 drivers/net/wireless/realtek/rtw89/Kconfig    |    50 +
 drivers/net/wireless/realtek/rtw89/Makefile   |    26 +
 drivers/net/wireless/realtek/rtw89/cam.c      |   700 +
 drivers/net/wireless/realtek/rtw89/cam.h      |   165 +
 drivers/net/wireless/realtek/rtw89/coex.c     |  5620 ++
 drivers/net/wireless/realtek/rtw89/coex.h     |   152 +
 drivers/net/wireless/realtek/rtw89/core.c     |  2359 +
 drivers/net/wireless/realtek/rtw89/core.h     |  3336 ++
 drivers/net/wireless/realtek/rtw89/debug.c    |  2404 +
 drivers/net/wireless/realtek/rtw89/debug.h    |    77 +
 drivers/net/wireless/realtek/rtw89/efuse.c    |   188 +
 drivers/net/wireless/realtek/rtw89/efuse.h    |    13 +
 drivers/net/wireless/realtek/rtw89/fw.c       |  1599 +
 drivers/net/wireless/realtek/rtw89/fw.h       |  1378 +
 drivers/net/wireless/realtek/rtw89/mac.c      |  4070 ++
 drivers/net/wireless/realtek/rtw89/mac.h      |   905 +
 drivers/net/wireless/realtek/rtw89/mac80211.c |   667 +
 drivers/net/wireless/realtek/rtw89/pci.c      |  3030 +
 drivers/net/wireless/realtek/rtw89/pci.h      |   601 +
 drivers/net/wireless/realtek/rtw89/phy.c      |  2736 +
 drivers/net/wireless/realtek/rtw89/phy.h      |   305 +
 drivers/net/wireless/realtek/rtw89/ps.c       |   149 +
 drivers/net/wireless/realtek/rtw89/ps.h       |    15 +
 drivers/net/wireless/realtek/rtw89/reg.h      |  2116 +
 drivers/net/wireless/realtek/rtw89/regd.c     |   353 +
 drivers/net/wireless/realtek/rtw89/rtw8852a.c |  2083 +
 drivers/net/wireless/realtek/rtw89/rtw8852a.h |   109 +
 .../net/wireless/realtek/rtw89/rtw8852a_rfk.c |  3806 ++
 .../net/wireless/realtek/rtw89/rtw8852a_rfk.h |    22 +
 .../realtek/rtw89/rtw8852a_rfk_table.c        |  1596 +
 .../realtek/rtw89/rtw8852a_rfk_table.h        |   132 +
 .../wireless/realtek/rtw89/rtw8852a_table.c   | 48725 ++++++++++++++++
 .../wireless/realtek/rtw89/rtw8852a_table.h   |    28 +
 drivers/net/wireless/realtek/rtw89/sar.c      |   190 +
 drivers/net/wireless/realtek/rtw89/sar.h      |    26 +
 drivers/net/wireless/realtek/rtw89/ser.c      |   491 +
 drivers/net/wireless/realtek/rtw89/ser.h      |    15 +
 drivers/net/wireless/realtek/rtw89/txrx.h     |   393 +
 drivers/net/wireless/realtek/rtw89/util.c     |    37 +
 drivers/net/wireless/realtek/rtw89/util.h     |    31 +
 42 files changed, 90700 insertions(+)
 create mode 100644 drivers/net/wireless/realtek/rtw89/Kconfig
 create mode 100644 drivers/net/wireless/realtek/rtw89/Makefile
 create mode 100644 drivers/net/wireless/realtek/rtw89/cam.c
 create mode 100644 drivers/net/wireless/realtek/rtw89/cam.h
 create mode 100644 drivers/net/wireless/realtek/rtw89/coex.c
 create mode 100644 drivers/net/wireless/realtek/rtw89/coex.h
 create mode 100644 drivers/net/wireless/realtek/rtw89/core.c
 create mode 100644 drivers/net/wireless/realtek/rtw89/core.h
 create mode 100644 drivers/net/wireless/realtek/rtw89/debug.c
 create mode 100644 drivers/net/wireless/realtek/rtw89/debug.h
 create mode 100644 drivers/net/wireless/realtek/rtw89/efuse.c
 create mode 100644 drivers/net/wireless/realtek/rtw89/efuse.h
 create mode 100644 drivers/net/wireless/realtek/rtw89/fw.c
 create mode 100644 drivers/net/wireless/realtek/rtw89/fw.h
 create mode 100644 drivers/net/wireless/realtek/rtw89/mac.c
 create mode 100644 drivers/net/wireless/realtek/rtw89/mac.h
 create mode 100644 drivers/net/wireless/realtek/rtw89/mac80211.c
 create mode 100644 drivers/net/wireless/realtek/rtw89/pci.c
 create mode 100644 drivers/net/wireless/realtek/rtw89/pci.h
 create mode 100644 drivers/net/wireless/realtek/rtw89/phy.c
 create mode 100644 drivers/net/wireless/realtek/rtw89/phy.h
 create mode 100644 drivers/net/wireless/realtek/rtw89/ps.c
 create mode 100644 drivers/net/wireless/realtek/rtw89/ps.h
 create mode 100644 drivers/net/wireless/realtek/rtw89/reg.h
 create mode 100644 drivers/net/wireless/realtek/rtw89/regd.c
 create mode 100644 drivers/net/wireless/realtek/rtw89/rtw8852a.c
 create mode 100644 drivers/net/wireless/realtek/rtw89/rtw8852a.h
 create mode 100644 drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.c
 create mode 100644 drivers/net/wireless/realtek/rtw89/rtw8852a_rfk.h
 create mode 100644 drivers/net/wireless/realtek/rtw89/rtw8852a_rfk_table.c
 create mode 100644 drivers/net/wireless/realtek/rtw89/rtw8852a_rfk_table.h
 create mode 100644 drivers/net/wireless/realtek/rtw89/rtw8852a_table.c
 create mode 100644 drivers/net/wireless/realtek/rtw89/rtw8852a_table.h
 create mode 100644 drivers/net/wireless/realtek/rtw89/sar.c
 create mode 100644 drivers/net/wireless/realtek/rtw89/sar.h
 create mode 100644 drivers/net/wireless/realtek/rtw89/ser.c
 create mode 100644 drivers/net/wireless/realtek/rtw89/ser.h
 create mode 100644 drivers/net/wireless/realtek/rtw89/txrx.h
 create mode 100644 drivers/net/wireless/realtek/rtw89/util.c
 create mode 100644 drivers/net/wireless/realtek/rtw89/util.h

Comments

Aaron Ma June 23, 2021, 6:29 a.m. UTC | #1
Hi Ping-Ke,

After applied your patches on 5.17-rc7, tested on pci device:
04:00.0 Network controller [0280]: Realtek Semiconductor Co., Ltd. Device [10ec:8852]

I found the performance is a bit poor on TX especially.
Tested on Intel AX210, it's result is TX 461Mb/s and RX 547Mb/s at the same position.

$ iperf3 -c 192.168.1.7 
Connecting to host 192.168.1.7, port 5201
[  5] local 192.168.1.6 port 40942 connected to 192.168.1.7 port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  26.2 MBytes   220 Mbits/sec    0   1.12 MBytes       
[  5]   1.00-2.00   sec  21.2 MBytes   178 Mbits/sec    0   1.76 MBytes       
[  5]   2.00-3.00   sec  33.8 MBytes   283 Mbits/sec    0   2.00 MBytes       
[  5]   3.00-4.00   sec  31.2 MBytes   262 Mbits/sec    0   2.12 MBytes       
[  5]   4.00-5.00   sec  30.0 MBytes   252 Mbits/sec    0   2.38 MBytes       
[  5]   5.00-6.00   sec  31.2 MBytes   262 Mbits/sec    0   2.56 MBytes       
[  5]   6.00-7.00   sec  31.2 MBytes   262 Mbits/sec    0   2.56 MBytes       
[  5]   7.00-8.00   sec  27.5 MBytes   231 Mbits/sec    0   2.56 MBytes       
[  5]   8.00-9.00   sec  35.0 MBytes   294 Mbits/sec    0   2.56 MBytes       
[  5]   9.00-10.00  sec  31.2 MBytes   262 Mbits/sec    0   2.69 MBytes       
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec   299 MBytes   251 Mbits/sec    0             sender
[  5]   0.00-10.01  sec   296 MBytes   248 Mbits/sec                  receiver

iperf Done.

$ iperf3 -c 192.168.1.7 -R
Connecting to host 192.168.1.7, port 5201
Reverse mode, remote host 192.168.1.7 is sending
[  5] local 192.168.1.6 port 40946 connected to 192.168.1.7 port 5201
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.00   sec  46.4 MBytes   389 Mbits/sec                  
[  5]   1.00-2.00   sec  48.7 MBytes   408 Mbits/sec                  
[  5]   2.00-3.00   sec  48.5 MBytes   407 Mbits/sec                  
[  5]   3.00-4.00   sec  51.9 MBytes   435 Mbits/sec                  
[  5]   4.00-5.00   sec  47.8 MBytes   401 Mbits/sec                  
[  5]   5.00-6.00   sec  50.7 MBytes   426 Mbits/sec                  
[  5]   6.00-7.00   sec  48.2 MBytes   404 Mbits/sec                  
[  5]   7.00-8.00   sec  48.2 MBytes   405 Mbits/sec                  
[  5]   8.00-9.00   sec  51.0 MBytes   428 Mbits/sec                  
[  5]   9.00-10.00  sec  52.0 MBytes   436 Mbits/sec                  
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec   497 MBytes   417 Mbits/sec  126             sender
[  5]   0.00-10.00  sec   493 MBytes   414 Mbits/sec                  receiver

iperf Done.


Also I found some errors when stress test, not sure how to reproduce yet, copy log here:

kernel: rtw89_pci 0000:04:00.0: Firmware version 0.13.24.0, cmd version 0, type 1
kernel: rtw89_pci 0000:04:00.0: Firmware version 0.13.24.0, cmd version 0, type 3
kernel: rtw89_pci 0000:04:00.0: chip rfe_type is 1
kernel: initcall rtw89_pci_driver_init+0x0/0x1000 [rtw89_pci] returned 0 after 26621 usecs
kernel: rtw89_pci 0000:04:00.0 wlp4s0: renamed from wlan0
kernel: wlp4s0: authenticate with 9c:d3:6d:a3:b2:e7
kernel: wlp4s0: send auth to 9c:d3:6d:a3:b2:e7 (try 1/3)
kernel: wlp4s0: send auth to 9c:d3:6d:a3:b2:e7 (try 2/3)
kernel: wlp4s0: send auth to 9c:d3:6d:a3:b2:e7 (try 3/3)
kernel: wlp4s0: authentication with 9c:d3:6d:a3:b2:e7 timed out
kernel: wlp4s0: authenticate with 9c:d3:6d:a3:b2:e7
kernel: wlp4s0: send auth to 9c:d3:6d:a3:b2:e7 (try 1/3)
kernel: wlp4s0: authenticated
kernel: wlp4s0: associate with 9c:d3:6d:a3:b2:e7 (try 1/3)
kernel: wlp4s0: RX AssocResp from 9c:d3:6d:a3:b2:e7 (capab=0x11 status=0 aid=9)
kernel: wlp4s0: associated
kernel: IPv6: ADDRCONF(NETDEV_CHANGE): wlp4s0: link becomes ready
kernel: rtw89_pci 0000:04:00.0: FW status = 0xb9001100
kernel: rtw89_pci 0000:04:00.0: FW BADADDR = 0x0
kernel: rtw89_pci 0000:04:00.0: FW EPC/RA = 0x0
kernel: rtw89_pci 0000:04:00.0: FW MISC = 0xb8990c7b
kernel: rtw89_pci 0000:04:00.0: R_AX_HALT_C2H = 0x10
kernel: rtw89_pci 0000:04:00.0: R_AX_SER_DBG_INFO = 0x41000001
kernel: rtw89_pci 0000:04:00.0: [ERR]fw PC = 0xb8991bcb
kernel: rtw89_pci 0000:04:00.0: [ERR]fw PC = 0xb8991bd5
kernel: rtw89_pci 0000:04:00.0: [ERR]fw PC = 0xb8991acb
kernel: rtw89_pci 0000:04:00.0: [ERR]fw PC = 0xbfc00180
kernel: rtw89_pci 0000:04:00.0: [ERR]fw PC = 0xb8991bf9
kernel: rtw89_pci 0000:04:00.0: [ERR]fw PC = 0xb8991ba7
kernel: rtw89_pci 0000:04:00.0: [ERR]fw PC = 0xb8991bd3
kernel: rtw89_pci 0000:04:00.0: [ERR]fw PC = 0xb8991ae3
kernel: rtw89_pci 0000:04:00.0: [ERR]fw PC = 0xb8991aad
kernel: rtw89_pci 0000:04:00.0: [ERR]fw PC = 0xb8991ba7
kernel: rtw89_pci 0000:04:00.0: [ERR]fw PC = 0xb8991bd1
kernel: rtw89_pci 0000:04:00.0: [ERR]fw PC = 0xb8991ac5
kernel: rtw89_pci 0000:04:00.0: [ERR]fw PC = 0xb8991ba7
kernel: rtw89_pci 0000:04:00.0: [ERR]fw PC = 0xb8991ad1
kernel: rtw89_pci 0000:04:00.0: [ERR]fw PC = 0xb8991bbb
kernel: rtw89_pci 0000:04:00.0: --->
        err=0x10
Aaron Ma June 30, 2021, 4:52 a.m. UTC | #2
Hi,

Previous result is from a single antenna PCI card of 8852AE.
After test on another Laptop with 8852AE, it works fine.
Result:
AP ASUS AX86u: TX 660M RX 880M

AP Netgear R7800: TX 500M RX 561M
Looks like the performance is affected by antenna.

The error log is not reproduced again.

Tested-by: Aaron Ma <aaron.ma@canonical.com>


Aaron

On 6/23/21 2:29 PM, Aaron Ma wrote:
> Hi Ping-Ke,

> 

> After applied your patches on 5.17-rc7, tested on pci device:

> 04:00.0 Network controller [0280]: Realtek Semiconductor Co., Ltd. Device [10ec:8852]

> 

> I found the performance is a bit poor on TX especially.

> Tested on Intel AX210, it's result is TX 461Mb/s and RX 547Mb/s at the same position.

> 

> $ iperf3 -c 192.168.1.7

> Connecting to host 192.168.1.7, port 5201

> [  5] local 192.168.1.6 port 40942 connected to 192.168.1.7 port 5201

> [ ID] Interval           Transfer     Bitrate         Retr  Cwnd

> [  5]   0.00-1.00   sec  26.2 MBytes   220 Mbits/sec    0   1.12 MBytes

> [  5]   1.00-2.00   sec  21.2 MBytes   178 Mbits/sec    0   1.76 MBytes

> [  5]   2.00-3.00   sec  33.8 MBytes   283 Mbits/sec    0   2.00 MBytes

> [  5]   3.00-4.00   sec  31.2 MBytes   262 Mbits/sec    0   2.12 MBytes

> [  5]   4.00-5.00   sec  30.0 MBytes   252 Mbits/sec    0   2.38 MBytes

> [  5]   5.00-6.00   sec  31.2 MBytes   262 Mbits/sec    0   2.56 MBytes

> [  5]   6.00-7.00   sec  31.2 MBytes   262 Mbits/sec    0   2.56 MBytes

> [  5]   7.00-8.00   sec  27.5 MBytes   231 Mbits/sec    0   2.56 MBytes

> [  5]   8.00-9.00   sec  35.0 MBytes   294 Mbits/sec    0   2.56 MBytes

> [  5]   9.00-10.00  sec  31.2 MBytes   262 Mbits/sec    0   2.69 MBytes

> - - - - - - - - - - - - - - - - - - - - - - - - -

> [ ID] Interval           Transfer     Bitrate         Retr

> [  5]   0.00-10.00  sec   299 MBytes   251 Mbits/sec    0             sender

> [  5]   0.00-10.01  sec   296 MBytes   248 Mbits/sec                  receiver

> 

> iperf Done.

> 

> $ iperf3 -c 192.168.1.7 -R

> Connecting to host 192.168.1.7, port 5201

> Reverse mode, remote host 192.168.1.7 is sending

> [  5] local 192.168.1.6 port 40946 connected to 192.168.1.7 port 5201

> [ ID] Interval           Transfer     Bitrate

> [  5]   0.00-1.00   sec  46.4 MBytes   389 Mbits/sec

> [  5]   1.00-2.00   sec  48.7 MBytes   408 Mbits/sec

> [  5]   2.00-3.00   sec  48.5 MBytes   407 Mbits/sec

> [  5]   3.00-4.00   sec  51.9 MBytes   435 Mbits/sec

> [  5]   4.00-5.00   sec  47.8 MBytes   401 Mbits/sec

> [  5]   5.00-6.00   sec  50.7 MBytes   426 Mbits/sec

> [  5]   6.00-7.00   sec  48.2 MBytes   404 Mbits/sec

> [  5]   7.00-8.00   sec  48.2 MBytes   405 Mbits/sec

> [  5]   8.00-9.00   sec  51.0 MBytes   428 Mbits/sec

> [  5]   9.00-10.00  sec  52.0 MBytes   436 Mbits/sec

> - - - - - - - - - - - - - - - - - - - - - - - - -

> [ ID] Interval           Transfer     Bitrate         Retr

> [  5]   0.00-10.00  sec   497 MBytes   417 Mbits/sec  126             sender

> [  5]   0.00-10.00  sec   493 MBytes   414 Mbits/sec                  receiver

> 

> iperf Done.

> 

> 

> Also I found some errors when stress test, not sure how to reproduce yet, copy log here:

> 

> kernel: rtw89_pci 0000:04:00.0: Firmware version 0.13.24.0, cmd version 0, type 1

> kernel: rtw89_pci 0000:04:00.0: Firmware version 0.13.24.0, cmd version 0, type 3

> kernel: rtw89_pci 0000:04:00.0: chip rfe_type is 1

> kernel: initcall rtw89_pci_driver_init+0x0/0x1000 [rtw89_pci] returned 0 after 26621 usecs

> kernel: rtw89_pci 0000:04:00.0 wlp4s0: renamed from wlan0

> kernel: wlp4s0: authenticate with 9c:d3:6d:a3:b2:e7

> kernel: wlp4s0: send auth to 9c:d3:6d:a3:b2:e7 (try 1/3)

> kernel: wlp4s0: send auth to 9c:d3:6d:a3:b2:e7 (try 2/3)

> kernel: wlp4s0: send auth to 9c:d3:6d:a3:b2:e7 (try 3/3)

> kernel: wlp4s0: authentication with 9c:d3:6d:a3:b2:e7 timed out

> kernel: wlp4s0: authenticate with 9c:d3:6d:a3:b2:e7

> kernel: wlp4s0: send auth to 9c:d3:6d:a3:b2:e7 (try 1/3)

> kernel: wlp4s0: authenticated

> kernel: wlp4s0: associate with 9c:d3:6d:a3:b2:e7 (try 1/3)

> kernel: wlp4s0: RX AssocResp from 9c:d3:6d:a3:b2:e7 (capab=0x11 status=0 aid=9)

> kernel: wlp4s0: associated

> kernel: IPv6: ADDRCONF(NETDEV_CHANGE): wlp4s0: link becomes ready

> kernel: rtw89_pci 0000:04:00.0: FW status = 0xb9001100

> kernel: rtw89_pci 0000:04:00.0: FW BADADDR = 0x0

> kernel: rtw89_pci 0000:04:00.0: FW EPC/RA = 0x0

> kernel: rtw89_pci 0000:04:00.0: FW MISC = 0xb8990c7b

> kernel: rtw89_pci 0000:04:00.0: R_AX_HALT_C2H = 0x10

> kernel: rtw89_pci 0000:04:00.0: R_AX_SER_DBG_INFO = 0x41000001

> kernel: rtw89_pci 0000:04:00.0: [ERR]fw PC = 0xb8991bcb

> kernel: rtw89_pci 0000:04:00.0: [ERR]fw PC = 0xb8991bd5

> kernel: rtw89_pci 0000:04:00.0: [ERR]fw PC = 0xb8991acb

> kernel: rtw89_pci 0000:04:00.0: [ERR]fw PC = 0xbfc00180

> kernel: rtw89_pci 0000:04:00.0: [ERR]fw PC = 0xb8991bf9

> kernel: rtw89_pci 0000:04:00.0: [ERR]fw PC = 0xb8991ba7

> kernel: rtw89_pci 0000:04:00.0: [ERR]fw PC = 0xb8991bd3

> kernel: rtw89_pci 0000:04:00.0: [ERR]fw PC = 0xb8991ae3

> kernel: rtw89_pci 0000:04:00.0: [ERR]fw PC = 0xb8991aad

> kernel: rtw89_pci 0000:04:00.0: [ERR]fw PC = 0xb8991ba7

> kernel: rtw89_pci 0000:04:00.0: [ERR]fw PC = 0xb8991bd1

> kernel: rtw89_pci 0000:04:00.0: [ERR]fw PC = 0xb8991ac5

> kernel: rtw89_pci 0000:04:00.0: [ERR]fw PC = 0xb8991ba7

> kernel: rtw89_pci 0000:04:00.0: [ERR]fw PC = 0xb8991ad1

> kernel: rtw89_pci 0000:04:00.0: [ERR]fw PC = 0xb8991bbb

> kernel: rtw89_pci 0000:04:00.0: --->

>          err=0x10

>