Compare commits

...

3 Commits

Author SHA1 Message Date
fcf8bf2936
chore: update README.md
Signed-off-by: Rin Cat (鈴猫) <rincat@rincat.dev>
2025-06-10 10:10:00 -04:00
9d619f4c09
Linux 6.15 compat: rename timers
Signed-off-by: Rin Cat (鈴猫) <rincat@rincat.dev>
2025-06-10 10:04:35 -04:00
9f48662d71
fix: stop use EXTRA_*FLAGS
Signed-off-by: Rin Cat (鈴猫) <rincat@rincat.dev>
2025-06-10 09:54:14 -04:00
7 changed files with 415 additions and 393 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.14 (with unofficial patches) **Support Kernel**: 2.6.24 ~ 6.15 (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,6 +8,8 @@ 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 @@
EXTRA_CFLAGS += -I$(src)/hal/phydm ccflags-y += -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,11 +725,23 @@ 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 @@
EXTRA_CFLAGS += -I$(src)/hal/phydm ccflags-y += -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,12 +387,20 @@ __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 @@
EXTRA_CFLAGS += -DCONFIG_RTL8822B ccflags-y += -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 ###
#EXTRA_CFLAGS += -DCONFIG_MP_VHT_HW_TX_MODE #ccflags-y += -DCONFIG_MP_VHT_HW_TX_MODE
#CONFIG_MP_VHT_HW_TX_MODE = y #CONFIG_MP_VHT_HW_TX_MODE = y
endif endif