Compare commits

..

No commits in common. "fcf8bf2936341189528336f3a1823852dab63415" and "1f0005d9be0f4471b3b83d8172cd109a2b7855e8" have entirely different histories.

7 changed files with 393 additions and 415 deletions

776
Makefile

File diff suppressed because it is too large Load Diff

View File

@ -1,6 +1,6 @@
# REALTEK RTL88x2B USB Linux Driver # REALTEK RTL88x2B USB Linux Driver
**Current Driver Version**: 5.13.1-30 **Current Driver Version**: 5.13.1-30
**Support Kernel**: 2.6.24 ~ 6.15 (with unofficial patches) **Support Kernel**: 2.6.24 ~ 6.14 (with unofficial patches)
Linux in-tree rtw8822bu driver is a work in progress. Check [this](https://lore.kernel.org/lkml/20220518082318.3898514-1-s.hauer@pengutronix.de/) patchset. Linux in-tree rtw8822bu driver is a work in progress. Check [this](https://lore.kernel.org/lkml/20220518082318.3898514-1-s.hauer@pengutronix.de/) patchset.
@ -8,8 +8,6 @@ For official release notes please check ReleaseNotes.pdf.
**Note:** if you believe your device is **RTL8812BU** or **RTL8822BU** but after loading the module no NIC shows up, the device ID maybe not be in the driver whitelist. In this case, please submit a new issue with `lsusb` result, and your device name, brand, website, etc. **Note:** if you believe your device is **RTL8812BU** or **RTL8822BU** but after loading the module no NIC shows up, the device ID maybe not be in the driver whitelist. In this case, please submit a new issue with `lsusb` result, and your device name, brand, website, etc.
This driver does *NOT* support newer Realtek 802.11ax (Wi-Fi 6) chipsets such as RTL8852BU.
## Linux 5.18+ and RTW88 Driver ## Linux 5.18+ and RTW88 Driver
Starting from Linux 5.18, some distributions have added experimental RTW88 USB support (include RTW88x2BU support). Starting from Linux 5.18, some distributions have added experimental RTW88 USB support (include RTW88x2BU support).
It is not yet stable but if it works well on your system, then you no longer need this driver. It is not yet stable but if it works well on your system, then you no longer need this driver.

View File

@ -1,4 +1,4 @@
ccflags-y += -I$(src)/hal/phydm EXTRA_CFLAGS += -I$(src)/hal/phydm
_PHYDM_FILES := hal/phydm/phydm_debug.o \ _PHYDM_FILES := hal/phydm/phydm_debug.o \
hal/phydm/phydm_antdiv.o\ hal/phydm/phydm_antdiv.o\

View File

@ -725,23 +725,11 @@ void odm_initialize_timer(struct dm_struct *dm, struct phydm_timer_list *timer,
void odm_cancel_timer(struct dm_struct *dm, struct phydm_timer_list *timer) void odm_cancel_timer(struct dm_struct *dm, struct phydm_timer_list *timer)
{ {
#if (DM_ODM_SUPPORT_TYPE & ODM_AP) #if (DM_ODM_SUPPORT_TYPE & ODM_AP)
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 15, 0))
timer_delete(timer);
#else
del_timer(timer); del_timer(timer);
#endif
#elif (DM_ODM_SUPPORT_TYPE & ODM_CE) && defined(DM_ODM_CE_MAC80211) #elif (DM_ODM_SUPPORT_TYPE & ODM_CE) && defined(DM_ODM_CE_MAC80211)
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 15, 0))
timer_delete(timer);
#else
del_timer(timer); del_timer(timer);
#endif
#elif (DM_ODM_SUPPORT_TYPE & ODM_CE) && defined(DM_ODM_CE_MAC80211_V2) #elif (DM_ODM_SUPPORT_TYPE & ODM_CE) && defined(DM_ODM_CE_MAC80211_V2)
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 15, 0))
timer_delete(&timer->timer);
#else
del_timer(&timer->timer); del_timer(&timer->timer);
#endif
#elif (DM_ODM_SUPPORT_TYPE & ODM_CE) #elif (DM_ODM_SUPPORT_TYPE & ODM_CE)
_cancel_timer_ex(timer); _cancel_timer_ex(timer);
#elif (DM_ODM_SUPPORT_TYPE & ODM_WIN) #elif (DM_ODM_SUPPORT_TYPE & ODM_WIN)

View File

@ -1,4 +1,4 @@
ccflags-y += -I$(src)/hal/phydm EXTRA_CFLAGS += -I$(src)/hal/phydm
_PHYDM_FILES := hal/phydm/phydm_debug.o \ _PHYDM_FILES := hal/phydm/phydm_debug.o \
hal/phydm/phydm_interface.o\ hal/phydm/phydm_interface.o\

View File

@ -387,20 +387,12 @@ __inline static void _set_timer(_timer *ptimer, u32 delay_time)
__inline static void _cancel_timer(_timer *ptimer, u8 *bcancelled) __inline static void _cancel_timer(_timer *ptimer, u8 *bcancelled)
{ {
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 15, 0))
*bcancelled = timer_delete_sync(&ptimer->timer) == 1 ? 1 : 0;
#else
*bcancelled = del_timer_sync(&ptimer->timer) == 1 ? 1 : 0; *bcancelled = del_timer_sync(&ptimer->timer) == 1 ? 1 : 0;
#endif
} }
__inline static void _cancel_timer_async(_timer *ptimer) __inline static void _cancel_timer_async(_timer *ptimer)
{ {
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 15, 0))
timer_delete(&ptimer->timer);
#else
del_timer(&ptimer->timer); del_timer(&ptimer->timer);
#endif
} }
static inline void _init_workitem(_workitem *pwork, void *pfunc, void *cntx) static inline void _init_workitem(_workitem *pwork, void *pfunc, void *cntx)

View File

@ -1,8 +1,8 @@
ccflags-y += -DCONFIG_RTL8822B EXTRA_CFLAGS += -DCONFIG_RTL8822B
ifeq ($(CONFIG_MP_INCLUDED), y) ifeq ($(CONFIG_MP_INCLUDED), y)
### 8822B Default Enable VHT MP HW TX MODE ### ### 8822B Default Enable VHT MP HW TX MODE ###
#ccflags-y += -DCONFIG_MP_VHT_HW_TX_MODE #EXTRA_CFLAGS += -DCONFIG_MP_VHT_HW_TX_MODE
#CONFIG_MP_VHT_HW_TX_MODE = y #CONFIG_MP_VHT_HW_TX_MODE = y
endif endif