Tl WN722n v3 설치 문제

Tl WN722n v3 설치 문제

make allor 명령 을 사용하면 make이 오류가 나타납니다. 도움이 필요해요..!

이게 오류인가요

답변1

Linux 커널 API의 최근 변경으로 인해 이 오류가 발생합니다 netdevice. 더 구체적으로 이것은 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.c1103행으로 가서 다음을 바꾸십시오.

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)

관련 정보