Проблема установки Tl WN722n v3

Проблема установки Tl WN722n v3

При использовании команды make allили makeпоявляется эта ошибка. Мне нужна помощь..!

Это ошибка

решение1

Вы получаете эту ошибку из-за некоторых недавних изменений в netdeviceAPI ядра Linux. Более конкретно это ndo_select_queueбыло определено какэтотв 5.1:

u16 (*ndo_select_queue)(struct net_device *dev, struct sk_buff *skb,
                        struct net_device *sb_dev,
                        select_queue_fallback_t fallback);

Но это было изменено наэтотв 5.2:

u16 (*ndo_select_queue)(struct net_device *dev, struct sk_buff *skb,
                        struct net_device *sb_dev);

Поэтому обработчик os_intfs.cтоже должен смениться.

В качестве быстрого решения, fallbackмне кажется, простое удаление аргумента заставляет сборку работать:

diff --git a/os_dep/linux/os_intfs.c b/os_dep/linux/os_intfs.c
index b183a09..42f32a8 100644
--- a/os_dep/linux/os_intfs.c  
+++ b/os_dep/linux/os_intfs.c
@@ -1101,8 +1101,7 @@ unsigned int rtw_classify8021d(struct sk_buff *skb)

 #if (LINUX_VERSION_CODE>=KERNEL_VERSION(4,19,0))
 static u16 rtw_select_queue(struct net_device *dev, struct sk_buff *skb,
-               struct net_device *sb_dev,
-               select_queue_fallback_t fallback)
+               struct net_device *sb_dev)
 #else
 static u16 rtw_select_queue(struct net_device *dev, struct sk_buff *skb
 #if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 13, 0)

Для этого также есть патч здесь:https://github.com/quickreflex/rtl8188eus/issues/28

В общем, если вас не устраивают патчи и исходный код, просто перейдите в os_dep/linux/os_intfs.cстроку 1103 и замените это:

static u16 rtw_select_queue(struct net_device *dev, struct sk_buff *skb,
                 struct net_device *sb_dev,
                 select_queue_fallback_t fallback)

с этим:

static u16 rtw_select_queue(struct net_device *dev, struct sk_buff *skb,
                 struct net_device *sb_dev)

Связанный контент