[PULL] [Focal/Unstable] Add support for Realtek 8723DE wireless adapter
Kai-Heng Feng
kai.heng.feng at canonical.com
Mon Dec 23 07:31:46 UTC 2019
Seth, Andrea,
Can you please take a look at this pull, thanks!
Kai-Heng
> On Dec 10, 2019, at 15:41, Kai-Heng Feng <kai.heng.feng at canonical.com> wrote:
>
>
>> On Dec 10, 2019, at 15:40, Kai-Heng Feng <kai.heng.feng at canonical.com> wrote:
>
> Oops, forgot to add BugLink:
> BugLink: https://bugs.launchpad.net/bugs/1780590
>
>>
>> [Impact]
>> There's no in-kernel support for Realtek 8723DE, so users need to use
>> out-of-tree DKMS which is not from Ubuntu archive. This has security
>> implication and should be avoided. Also this provides pretty bad user
>> experience.
>>
>> [Fix]
>> Add support to Realtek 8723DE.
>> All commits are cherry-picked from Realtek maintained repo:
>> https://github.com/rtlwifi-linux/rtw88_8723de
>> Realtek is committed to update this repo until every bits are
>> upstreamed.
>>
>> [Test]
>> With the patch series applied, 8723DE can scan and connect to APs
>> succesfully. Also did some S3 smoke test, it continues to work.
>>
>> [Regression Potential]
>> Low. The device in question was never supported, and if there's any
>> regression, we can count on Realtek Wireless team, thy are now pretty
>> responsive on upstream mailing list.
>>
>> The following changes since commit f77b7acc39ef131f91db7fb6b17185c1ae03f118:
>>
>> UBUNTU: Ubuntu-5.4.0-8.10 (2019-12-06 12:56:54 -0600)
>>
>> are available in the Git repository at:
>>
>> https://git.launchpad.net/~kaihengfeng/linux rtw88
>>
>> for you to fetch changes up to 03a2a020af1f2eff0f745c464a50de88c4034aae:
>>
>> UBUNTU: [Config] CONFIG_RTW88_8723DE=y (2019-12-09 14:32:40 +0800)
>>
>> ----------------------------------------------------------------
>> Chin-Yen Lee (6):
>> UBUNTU: SAUCE: rtw88: check firmware leave lps successfully
>> UBUNTU: SAUCE: rtw88: support wowlan feature for 8822c
>> UBUNTU: SAUCE: rtw88: wowlan: support pattern match
>> UBUNTU: SAUCE: rtw88: wowlan: support PNO for 8822C
>> UBUNTU: SAUCE: rtw88: add module parameter to enable PCIE clock request
>> UBUNTU: SAUCE: rtw88: add module parameter to enable PCIE ASPM L1
>>
>> Kai-Heng Feng (2):
>> Bluetooth: btusb: Disable runtime suspend on Realtek devices
>> UBUNTU: [Config] CONFIG_RTW88_8723DE=y
>>
>> Ping-Ke Shih (56):
>> UBUNTU: SAUCE: rtw88: use struct rtw_fw_hdr to access firmware header
>> UBUNTU: SAUCE: rtw88: fix NSS of hw_cap
>> UBUNTU: SAUCE: rtw88: fix error handling when setup efuse info
>> UBUNTU: SAUCE: rtw88: coex: Set 4 slot mode for A2DP
>> UBUNTU: SAUCE: rtw88: fix TX secondary channel offset of 40M if current bw is 20M or 40M
>> UBUNTU: SAUCE: rtw88: Use secondary channel offset enumeration to make better read
>> UBUNTU: SAUCE: rtw88: keep leave and enter IPS as the first and last in config callback
>> UBUNTU: SAUCE: rtw88: fix rate mask for 1SS chip
>> UBUNTU: SAUCE: rtw88: refine conversion of rx_evm_dbm from rx_evm
>> UBUNTU: SAUCE: rtw88: 8723d: Add firmware
>> UBUNTU: SAUCE: rtw88: 8723d: Add basic chip information of 8723D
>> UBUNTU: SAUCE: rtw88: 8723de: Add 8723DE to Kconfig and Makefile
>> UBUNTU: SAUCE: rtw88: 8723d: check set_gid_table before calling
>> UBUNTU: SAUCE: rtw88: 8723d: Add power sequence
>> UBUNTU: SAUCE: rtw88: 8723d: Add RF read/write ops
>> UBUNTU: SAUCE: rtw88: 8723d: Add mac/bb/rf/agc/power_limit tables
>> UBUNTU: SAUCE: rtw88: 8723d: Add ops cfg_ldo25 to control LDO25
>> UBUNTU: SAUCE: rtw88: 8723d: Add ops efuse_en to enable/disable efuse access
>> UBUNTU: SAUCE: rtw88: 8723d: Add read_efuse ops to recognize efuse info from map
>> UBUNTU: SAUCE: rtw88: add legacy firmware download for 8723de
>> UBUNTU: SAUCE: rtw88: Don't need send additional information to legacy firmware
>> UBUNTU: SAUCE: rtw88: 8723d: Implement mac power-on/-off function
>> UBUNTU: SAUCE: rtw88: decompose while(1) loop of power sequence polling command
>> UBUNTU: SAUCE: rtw88: 8723d: 11N chips don't support H2C queue
>> UBUNTU: SAUCE: rtw88: 8723d: implement ops set_tx_power_index to set tx power
>> UBUNTU: SAUCE: rtw88: 8723d: Organize chip TX/RX FIFO
>> UBUNTU: SAUCE: rtw88: 8723d: initialize mac/bb/rf basic functions
>> UBUNTU: SAUCE: rtw88: 8723d: Add DIG parameter
>> UBUNTU: SAUCE: rtw88: 8723d: Add ops query_rx_desc
>> UBUNTU: SAUCE: rtw88: 8723d: Add ops set_channel
>> UBUNTU: SAUCE: rtw88: handle C2H_CCX_TX_RPT (0x03) to know if packet TX successfully
>> UBUNTU: SAUCE: rtw88: 8723d: Add LDPC cap to chip info
>> UBUNTU: SAUCE: rtw88: 8723d: 11N chip doesn't have LS field in TX descriptor
>> UBUNTU: SAUCE: rtw88: 8723d: Add ops false_alarm_statistics
>> UBUNTU: SAUCE: rtw88: 8723d: Set IG register for CCK rate
>> UBUNTU: SAUCE: rtw88: 8723d: add interface configurations table
>> UBUNTU: SAUCE: rtw88: 8723d: Add LC calibration
>> UBUNTU: SAUCE: rtw88: 8723d: add IQ calibration
>> UBUNTU: SAUCE: rtw88: 8723d: Add power tracking
>> UBUNTU: SAUCE: rtw88: 8723d: Add shutdown callback to disable USB suspend
>> UBUNTU: SAUCE: rtw88: 8723d: implement flush queue
>> UBUNTU: SAUCE: rtw88: 8723d: set ltecoex register address in chip_info
>> UBUNTU: SAUCE: rtw88: 8723d: Add coex support
>> UBUNTU: SAUCE: rtw88: sar: add SAR of TX power limit
>> UBUNTU: SAUCE: rtw88: sar: Load SAR table from ACPI
>> UBUNTU: SAUCE: rtw88: fill zeros to words 0x06 and 0x07 of security cam entry
>> UBUNTU: SAUCE: rtw88: Don't set RX_FLAG_DECRYPTED to rx_status if packet has no encryption
>> UBUNTU: SAUCE: rtw88: sar: Don't induce to SAR WW if regd WW is specified
>> UBUNTU: SAUCE: rtw88: sar: try use WW one if SAR value of specified regd is invalid
>> UBUNTU: SAUCE: rtw88: sar: sar.c include sar.h
>> UBUNTU: SAUCE: rtw88: sar: generalize WRDS read function to support more tables
>> UBUNTU: SAUCE: rtw88: sar: add basic parser of RT tables
>> UBUNTU: SAUCE: rtw88: sar: apply RWRD/RWSI/RWGS tables to tx power limit
>> UBUNTU: SAUCE: rtw88: sar: add sar_work to poll if RWSI changed
>> UBUNTU: SAUCE: rtw88: sar: dump sar information via debugfs
>> UBUNTU: SAUCE: rtw88: add ciphers to suppress error message
>>
>> Tsang-Shian Lin (1):
>> UBUNTU: SAUCE: rtw88: add phy_info debugfs to show Tx/Rx physical status
>>
>> Tzu-En Huang (6):
>> UBUNTU: SAUCE: rtw88: report tx rate to mac80211 stack
>> UBUNTU: SAUCE: rtw88: add power tracking support
>> UBUNTU: SAUCE: rtw88: Enable 802.11ac beamformee support
>> UBUNTU: SAUCE: rtw88: config 8822c multicast address in MAC init flow
>> UBUNTU: SAUCE: rtw88: add set_bitrate_mask support
>> UBUNTU: SAUCE: rtw88: update regulatory settings implementaion
>>
>> Yan-Hsuan Chuang (16):
>> UBUNTU: SAUCE: rtw88: remove redundant flag check helper function
>> UBUNTU: SAUCE: rtw88: not to enter or leave PS under IRQ
>> UBUNTU: SAUCE: rtw88: not to control LPS by each vif
>> UBUNTU: SAUCE: rtw88: remove unused lps state check helper
>> UBUNTU: SAUCE: rtw88: LPS enter/leave should be protected by lock
>> UBUNTU: SAUCE: rtw88: leave PS state for dynamic mechanism
>> UBUNTU: SAUCE: rtw88: add deep power save support
>> UBUNTU: SAUCE: rtw88: not to enter LPS by coex strategy
>> UBUNTU: SAUCE: rtw88: select deep PS mode when module is inserted
>> UBUNTU: SAUCE: rtw88: add deep PS PG mode for 8822c
>> UBUNTU: SAUCE: rtw88: add RTS support
>> UBUNTU: SAUCE: rtw88: add driver tx queue support
>> UBUNTU: SAUCE: rtw88: take over rate control from mac80211
>> UBUNTU: SAUCE: rtw88: add TX-AMSDU support
>> UBUNTU: SAUCE: rtw88: flush hardware tx queues
>> UBUNTU: SAUCE: rtw88: default enable LPS + LCLK
>>
>> debian.master/config/config.common.ubuntu | 1 +
>> drivers/bluetooth/btusb.c | 4 +
>> drivers/net/wireless/realtek/rtw88/Kconfig | 10 +
>> drivers/net/wireless/realtek/rtw88/Makefile | 4 +
>> drivers/net/wireless/realtek/rtw88/bf.c | 408 ++++
>> drivers/net/wireless/realtek/rtw88/bf.h | 92 +
>> drivers/net/wireless/realtek/rtw88/coex.c | 38 +-
>> drivers/net/wireless/realtek/rtw88/debug.c | 205 +-
>> drivers/net/wireless/realtek/rtw88/debug.h | 3 +
>> drivers/net/wireless/realtek/rtw88/efuse.c | 4 +
>> drivers/net/wireless/realtek/rtw88/fw.c | 610 ++++-
>> drivers/net/wireless/realtek/rtw88/fw.h | 286 ++-
>> drivers/net/wireless/realtek/rtw88/hci.h | 14 +
>> drivers/net/wireless/realtek/rtw88/mac.c | 459 +++-
>> drivers/net/wireless/realtek/rtw88/mac.h | 13 +-
>> drivers/net/wireless/realtek/rtw88/mac80211.c | 271 ++-
>> drivers/net/wireless/realtek/rtw88/main.c | 379 ++-
>> drivers/net/wireless/realtek/rtw88/main.h | 360 ++-
>> drivers/net/wireless/realtek/rtw88/pci.c | 278 ++-
>> drivers/net/wireless/realtek/rtw88/pci.h | 21 +-
>> drivers/net/wireless/realtek/rtw88/phy.c | 305 ++-
>> drivers/net/wireless/realtek/rtw88/phy.h | 23 +
>> drivers/net/wireless/realtek/rtw88/ps.c | 178 +-
>> drivers/net/wireless/realtek/rtw88/ps.h | 13 +-
>> .../realtek/rtw88/reference/fw/rtw8723d_fw | Bin 0 -> 28884 bytes
>> drivers/net/wireless/realtek/rtw88/reg.h | 141 +-
>> drivers/net/wireless/realtek/rtw88/regd.c | 61 +-
>> drivers/net/wireless/realtek/rtw88/rtw8723d.c | 2560 ++++++++++++++++++++
>> drivers/net/wireless/realtek/rtw88/rtw8723d.h | 204 ++
>> .../net/wireless/realtek/rtw88/rtw8723d_table.c | 1196 +++++++++
>> .../net/wireless/realtek/rtw88/rtw8723d_table.h | 15 +
>> drivers/net/wireless/realtek/rtw88/rtw8822b.c | 417 +++-
>> drivers/net/wireless/realtek/rtw88/rtw8822b.h | 12 +
>> drivers/net/wireless/realtek/rtw88/rtw8822c.c | 354 ++-
>> drivers/net/wireless/realtek/rtw88/rtw8822c.h | 12 +
>> drivers/net/wireless/realtek/rtw88/rx.c | 93 +-
>> drivers/net/wireless/realtek/rtw88/rx.h | 11 +
>> drivers/net/wireless/realtek/rtw88/sar.c | 762 ++++++
>> drivers/net/wireless/realtek/rtw88/sar.h | 14 +
>> drivers/net/wireless/realtek/rtw88/sec.c | 27 +-
>> drivers/net/wireless/realtek/rtw88/sec.h | 1 +
>> drivers/net/wireless/realtek/rtw88/tx.c | 178 +-
>> drivers/net/wireless/realtek/rtw88/tx.h | 14 +-
>> drivers/net/wireless/realtek/rtw88/util.c | 45 +-
>> drivers/net/wireless/realtek/rtw88/util.h | 17 +
>> drivers/net/wireless/realtek/rtw88/wow.c | 758 ++++++
>> drivers/net/wireless/realtek/rtw88/wow.h | 62 +
>> 47 files changed, 10553 insertions(+), 380 deletions(-)
>> create mode 100644 drivers/net/wireless/realtek/rtw88/bf.c
>> create mode 100644 drivers/net/wireless/realtek/rtw88/bf.h
>> create mode 100644 drivers/net/wireless/realtek/rtw88/reference/fw/rtw8723d_fw
>> create mode 100644 drivers/net/wireless/realtek/rtw88/rtw8723d.c
>> create mode 100644 drivers/net/wireless/realtek/rtw88/rtw8723d.h
>> create mode 100644 drivers/net/wireless/realtek/rtw88/rtw8723d_table.c
>> create mode 100644 drivers/net/wireless/realtek/rtw88/rtw8723d_table.h
>> create mode 100644 drivers/net/wireless/realtek/rtw88/sar.c
>> create mode 100644 drivers/net/wireless/realtek/rtw88/sar.h
>> create mode 100644 drivers/net/wireless/realtek/rtw88/wow.c
>> create mode 100644 drivers/net/wireless/realtek/rtw88/wow.h
>>
>> --
>> kernel-team mailing list
>> kernel-team at lists.ubuntu.com
>> https://lists.ubuntu.com/mailman/listinfo/kernel-team
>
More information about the kernel-team
mailing list