rtl8822bu: update to 20210702-2590672d717e2516dd2e96ed66f1037a6815bced

this is needed for kernel-6.1.x
This commit is contained in:
Arne Fitzenreiter
2023-01-07 11:29:04 +00:00
parent f5be1e572f
commit be88f0696e
2 changed files with 3 additions and 284 deletions

View File

@@ -1,7 +1,7 @@
###############################################################################
# #
# IPFire.org - A linux based firewall #
# Copyright (C) 2007-2021 IPFire Team <info@ipfire.org> #
# Copyright (C) 2007-2023 IPFire Team <info@ipfire.org> #
# #
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
@@ -27,7 +27,7 @@ include Config
VERSUFIX = ipfire$(KCFG)
MODPATH = /lib/modules/$(KVER)-$(VERSUFIX)/extra/wlan
VER = fd0b735e2e30d32f4d91497242cf6af288bdd082
VER = 20210702-2590672d717e2516dd2e96ed66f1037a6815bced
THISAPP = 88x2bu-$(VER)
DL_FILE = $(THISAPP).tar.gz
@@ -43,7 +43,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
$(DL_FILE)_BLAKE2 = 4d3500428b174dfa5e9fb7ef2a8a1f5714129ad443969251dc70c10d23391318dfa900f39977cb437ed2fd5a75903c45d1cc3fa429a897ed9ed53b22ed145878
$(DL_FILE)_BLAKE2 = cfb62db38b7fb45cd08373fc08f98a7f15823ff93aa2f5fba3f5b71d50131bc6b1b7a68a16924b000ad431cffcd64fd635a49a76f70748a4df129e2c07f30936
install : $(TARGET)
@@ -76,7 +76,6 @@ $(subst %,%_BLAKE2,$(objects)) :
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/rtl8822bu/remove-ipx.patch
cd $(DIR_APP) && CONFIG_RTL8822BU=m make $(MAKETUNING) \
-C /lib/modules/$(KVER)-$(VERSUFIX)/build/ M=$(DIR_APP)/ modules

View File

@@ -1,280 +0,0 @@
diff -Naur 88x2bu-fd0b735e2e30d32f4d91497242cf6af288bdd082.org/core/rtw_br_ext.c 88x2bu-fd0b735e2e30d32f4d91497242cf6af288bdd082/core/rtw_br_ext.c
--- 88x2bu-fd0b735e2e30d32f4d91497242cf6af288bdd082.org/core/rtw_br_ext.c 2021-09-30 20:27:33.000000000 +0200
+++ 88x2bu-fd0b735e2e30d32f4d91497242cf6af288bdd082/core/rtw_br_ext.c 2021-11-04 18:57:11.853953556 +0100
@@ -17,7 +17,6 @@
#ifdef __KERNEL__
#include <linux/if_arp.h>
#include <net/ip.h>
- #include <net/ipx.h>
#include <linux/atalk.h>
#include <linux/udp.h>
#include <linux/if_pppox.h>
@@ -168,40 +167,6 @@
memcpy(networkAddr + 7, (unsigned char *)ipAddr, 4);
}
-
-static __inline__ void __nat25_generate_ipx_network_addr_with_node(unsigned char *networkAddr,
- unsigned int *ipxNetAddr, unsigned char *ipxNodeAddr)
-{
- memset(networkAddr, 0, MAX_NETWORK_ADDR_LEN);
-
- networkAddr[0] = NAT25_IPX;
- memcpy(networkAddr + 1, (unsigned char *)ipxNetAddr, 4);
- memcpy(networkAddr + 5, ipxNodeAddr, 6);
-}
-
-
-static __inline__ void __nat25_generate_ipx_network_addr_with_socket(unsigned char *networkAddr,
- unsigned int *ipxNetAddr, unsigned short *ipxSocketAddr)
-{
- memset(networkAddr, 0, MAX_NETWORK_ADDR_LEN);
-
- networkAddr[0] = NAT25_IPX;
- memcpy(networkAddr + 1, (unsigned char *)ipxNetAddr, 4);
- memcpy(networkAddr + 5, (unsigned char *)ipxSocketAddr, 2);
-}
-
-
-static __inline__ void __nat25_generate_apple_network_addr(unsigned char *networkAddr,
- unsigned short *network, unsigned char *node)
-{
- memset(networkAddr, 0, MAX_NETWORK_ADDR_LEN);
-
- networkAddr[0] = NAT25_APPLE;
- memcpy(networkAddr + 1, (unsigned char *)network, 2);
- networkAddr[3] = *node;
-}
-
-
static __inline__ void __nat25_generate_pppoe_network_addr(unsigned char *networkAddr,
unsigned char *ac_mac, unsigned short *sid)
{
@@ -890,227 +855,6 @@
}
/*---------------------------------------------------*/
- /* Handle IPX and Apple Talk frame */
- /*---------------------------------------------------*/
- else if ((protocol == __constant_htons(ETH_P_IPX)) ||
- (protocol == __constant_htons(ETH_P_ATALK)) ||
- (protocol == __constant_htons(ETH_P_AARP))) {
- unsigned char ipx_header[2] = {0xFF, 0xFF};
- struct ipxhdr *ipx = NULL;
- struct elapaarp *ea = NULL;
- struct ddpehdr *ddp = NULL;
- unsigned char *framePtr = skb->data + ETH_HLEN;
-
- if (protocol == __constant_htons(ETH_P_IPX)) {
- RTW_INFO("NAT25: Protocol=IPX (Ethernet II)\n");
- ipx = (struct ipxhdr *)framePtr;
- } else { /* if(protocol <= __constant_htons(ETH_FRAME_LEN)) */
- if (!memcmp(ipx_header, framePtr, 2)) {
- RTW_INFO("NAT25: Protocol=IPX (Ethernet 802.3)\n");
- ipx = (struct ipxhdr *)framePtr;
- } else {
- unsigned char ipx_8022_type = 0xE0;
- unsigned char snap_8022_type = 0xAA;
-
- if (*framePtr == snap_8022_type) {
- unsigned char ipx_snap_id[5] = {0x0, 0x0, 0x0, 0x81, 0x37}; /* IPX SNAP ID */
- unsigned char aarp_snap_id[5] = {0x00, 0x00, 0x00, 0x80, 0xF3}; /* Apple Talk AARP SNAP ID */
- unsigned char ddp_snap_id[5] = {0x08, 0x00, 0x07, 0x80, 0x9B}; /* Apple Talk DDP SNAP ID */
-
- framePtr += 3; /* eliminate the 802.2 header */
-
- if (!memcmp(ipx_snap_id, framePtr, 5)) {
- framePtr += 5; /* eliminate the SNAP header */
-
- RTW_INFO("NAT25: Protocol=IPX (Ethernet SNAP)\n");
- ipx = (struct ipxhdr *)framePtr;
- } else if (!memcmp(aarp_snap_id, framePtr, 5)) {
- framePtr += 5; /* eliminate the SNAP header */
-
- ea = (struct elapaarp *)framePtr;
- } else if (!memcmp(ddp_snap_id, framePtr, 5)) {
- framePtr += 5; /* eliminate the SNAP header */
-
- ddp = (struct ddpehdr *)framePtr;
- } else {
- DEBUG_WARN("NAT25: Protocol=Ethernet SNAP %02x%02x%02x%02x%02x\n", framePtr[0],
- framePtr[1], framePtr[2], framePtr[3], framePtr[4]);
- return -1;
- }
- } else if (*framePtr == ipx_8022_type) {
- framePtr += 3; /* eliminate the 802.2 header */
-
- if (!memcmp(ipx_header, framePtr, 2)) {
- RTW_INFO("NAT25: Protocol=IPX (Ethernet 802.2)\n");
- ipx = (struct ipxhdr *)framePtr;
- } else
- return -1;
- }
- }
- }
-
- /* IPX */
- if (ipx != NULL) {
- switch (method) {
- case NAT25_CHECK:
- if (!memcmp(skb->data + ETH_ALEN, ipx->ipx_source.node, ETH_ALEN)) {
- RTW_INFO("NAT25: Check IPX skb_copy\n");
- return 0;
- }
- return -1;
-
- case NAT25_INSERT: {
- RTW_INFO("NAT25: Insert IPX, Dest=%08x,%02x%02x%02x%02x%02x%02x,%04x Source=%08x,%02x%02x%02x%02x%02x%02x,%04x\n",
- ipx->ipx_dest.net,
- ipx->ipx_dest.node[0],
- ipx->ipx_dest.node[1],
- ipx->ipx_dest.node[2],
- ipx->ipx_dest.node[3],
- ipx->ipx_dest.node[4],
- ipx->ipx_dest.node[5],
- ipx->ipx_dest.sock,
- ipx->ipx_source.net,
- ipx->ipx_source.node[0],
- ipx->ipx_source.node[1],
- ipx->ipx_source.node[2],
- ipx->ipx_source.node[3],
- ipx->ipx_source.node[4],
- ipx->ipx_source.node[5],
- ipx->ipx_source.sock);
-
- if (!memcmp(skb->data + ETH_ALEN, ipx->ipx_source.node, ETH_ALEN)) {
- RTW_INFO("NAT25: Use IPX Net, and Socket as network addr\n");
-
- __nat25_generate_ipx_network_addr_with_socket(networkAddr, &ipx->ipx_source.net, &ipx->ipx_source.sock);
-
- /* change IPX source node addr to wlan STA address */
- memcpy(ipx->ipx_source.node, GET_MY_HWADDR(priv), ETH_ALEN);
- } else
- __nat25_generate_ipx_network_addr_with_node(networkAddr, &ipx->ipx_source.net, ipx->ipx_source.node);
-
- __nat25_db_network_insert(priv, skb->data + ETH_ALEN, networkAddr);
-
- __nat25_db_print(priv);
- }
- return 0;
-
- case NAT25_LOOKUP: {
- if (!memcmp(GET_MY_HWADDR(priv), ipx->ipx_dest.node, ETH_ALEN)) {
- RTW_INFO("NAT25: Lookup IPX, Modify Destination IPX Node addr\n");
-
- __nat25_generate_ipx_network_addr_with_socket(networkAddr, &ipx->ipx_dest.net, &ipx->ipx_dest.sock);
-
- __nat25_db_network_lookup_and_replace(priv, skb, networkAddr);
-
- /* replace IPX destination node addr with Lookup destination MAC addr */
- memcpy(ipx->ipx_dest.node, skb->data, ETH_ALEN);
- } else {
- __nat25_generate_ipx_network_addr_with_node(networkAddr, &ipx->ipx_dest.net, ipx->ipx_dest.node);
-
- __nat25_db_network_lookup_and_replace(priv, skb, networkAddr);
- }
- }
- return 0;
-
- default:
- return -1;
- }
- }
-
- /* AARP */
- else if (ea != NULL) {
- /* Sanity check fields. */
- if (ea->hw_len != ETH_ALEN || ea->pa_len != AARP_PA_ALEN) {
- DEBUG_WARN("NAT25: Appletalk AARP Sanity check fail!\n");
- return -1;
- }
-
- switch (method) {
- case NAT25_CHECK:
- return 0;
-
- case NAT25_INSERT: {
- /* change to AARP source mac address to wlan STA address */
- memcpy(ea->hw_src, GET_MY_HWADDR(priv), ETH_ALEN);
-
- RTW_INFO("NAT25: Insert AARP, Source=%d,%d Destination=%d,%d\n",
- ea->pa_src_net,
- ea->pa_src_node,
- ea->pa_dst_net,
- ea->pa_dst_node);
-
- __nat25_generate_apple_network_addr(networkAddr, &ea->pa_src_net, &ea->pa_src_node);
-
- __nat25_db_network_insert(priv, skb->data + ETH_ALEN, networkAddr);
-
- __nat25_db_print(priv);
- }
- return 0;
-
- case NAT25_LOOKUP: {
- RTW_INFO("NAT25: Lookup AARP, Source=%d,%d Destination=%d,%d\n",
- ea->pa_src_net,
- ea->pa_src_node,
- ea->pa_dst_net,
- ea->pa_dst_node);
-
- __nat25_generate_apple_network_addr(networkAddr, &ea->pa_dst_net, &ea->pa_dst_node);
-
- __nat25_db_network_lookup_and_replace(priv, skb, networkAddr);
-
- /* change to AARP destination mac address to Lookup result */
- memcpy(ea->hw_dst, skb->data, ETH_ALEN);
- }
- return 0;
-
- default:
- return -1;
- }
- }
-
- /* DDP */
- else if (ddp != NULL) {
- switch (method) {
- case NAT25_CHECK:
- return -1;
-
- case NAT25_INSERT: {
- RTW_INFO("NAT25: Insert DDP, Source=%d,%d Destination=%d,%d\n",
- ddp->deh_snet,
- ddp->deh_snode,
- ddp->deh_dnet,
- ddp->deh_dnode);
-
- __nat25_generate_apple_network_addr(networkAddr, &ddp->deh_snet, &ddp->deh_snode);
-
- __nat25_db_network_insert(priv, skb->data + ETH_ALEN, networkAddr);
-
- __nat25_db_print(priv);
- }
- return 0;
-
- case NAT25_LOOKUP: {
- RTW_INFO("NAT25: Lookup DDP, Source=%d,%d Destination=%d,%d\n",
- ddp->deh_snet,
- ddp->deh_snode,
- ddp->deh_dnet,
- ddp->deh_dnode);
-
- __nat25_generate_apple_network_addr(networkAddr, &ddp->deh_dnet, &ddp->deh_dnode);
-
- __nat25_db_network_lookup_and_replace(priv, skb, networkAddr);
- }
- return 0;
-
- default:
- return -1;
- }
- }
-
- return -1;
- }
-
- /*---------------------------------------------------*/
/* Handle PPPoE frame */
/*---------------------------------------------------*/
else if ((protocol == __constant_htons(ETH_P_PPP_DISC)) ||