From: Arne Fitzenreiter Date: Sat, 29 May 2021 08:58:38 +0000 (+0200) Subject: rtl88au: add Realtek 88x2AU external driver module X-Git-Tag: v2.27-core159~137 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0ab016587808cb63b3c50502e471c413d7b4e769;p=ipfire-2.x.git rtl88au: add Realtek 88x2AU external driver module Signed-off-by: Arne Fitzenreiter --- diff --git a/lfs/rtl8812au b/lfs/rtl8812au new file mode 100644 index 0000000000..a2b9eaccbb --- /dev/null +++ b/lfs/rtl8812au @@ -0,0 +1,96 @@ +############################################################################### +# # +# IPFire.org - A linux based firewall # +# Copyright (C) 2007-2021 IPFire Team # +# # +# 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 # +# the Free Software Foundation, either version 3 of the License, or # +# (at your option) any later version. # +# # +# This program is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with this program. If not, see . # +# # +############################################################################### + +############################################################################### +# Definitions +############################################################################### + +include Config + +VERSUFIX = ipfire$(KCFG) +MODPATH = /lib/modules/$(KVER)-$(VERSUFIX)/extra/wlan + +VER = 0b87ed921a8682856aed5a3e68344b0087f3c93c + +THISAPP = rtl8812au-$(VER) +DL_FILE = $(THISAPP).tar.gz +DL_FROM = $(URL_IPFIRE) +DIR_APP = $(DIR_SRC)/$(THISAPP) +TARGET = $(DIR_INFO)/$(THISAPP)-kmod-$(KVER)-$(VERSUFIX) + +############################################################################### +# Top-level Rules +############################################################################### + +objects = $(DL_FILE) + +$(DL_FILE) = $(DL_FROM)/$(DL_FILE) + +$(DL_FILE)_MD5 = bb7a0c4a9c60ff1bcbaf1071feecf503 + +install : $(TARGET) + +check : $(patsubst %,$(DIR_CHK)/%,$(objects)) + +download :$(patsubst %,$(DIR_DL)/%,$(objects)) + +md5 : $(subst %,%_MD5,$(objects)) + +dist: + $(PAK) + +############################################################################### +# Downloading, checking, md5sum +############################################################################### + +$(patsubst %,$(DIR_CHK)/%,$(objects)) : + @$(CHECK) + +$(patsubst %,$(DIR_DL)/%,$(objects)) : + @$(LOAD) + +$(subst %,%_MD5,$(objects)) : + @$(MD5) + +############################################################################### +# Installation Details +############################################################################### + +$(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/rtl8812au/enable_usbmodeswitch.patch + cd $(DIR_APP) && CONFIG_88XXAU=m make $(MAKETUNING) \ + -C /lib/modules/$(KVER)-$(VERSUFIX)/build/ M=$(DIR_APP)/ modules + + # Install the built kernel modules. + mkdir -p $(MODPATH) + cd $(DIR_APP) && for f in $$(ls *.ko); do \ + /lib/modules/$$(uname -r)$(KCFG)/build/scripts/sign-file sha512 \ + /lib/modules/$$(uname -r)$(KCFG)/build/certs/signing_key.pem \ + /lib/modules/$$(uname -r)$(KCFG)/build/certs/signing_key.x509 \ + $$f; \ + xz $$f; \ + install -m 644 $$f.xz $(MODPATH); \ + done + + @rm -rf $(DIR_APP) + @$(POSTBUILD) + diff --git a/make.sh b/make.sh index 9518089530..5ec6feb8de 100755 --- a/make.sh +++ b/make.sh @@ -1197,6 +1197,7 @@ buildipfire() { x86_64|i586|aarch64) lfsmake2 linux KCFG="" lfsmake2 rtl8189es KCFG="" + lfsmake2 rtl8812au KCFG="" lfsmake2 xtables-addons KCFG="" lfsmake2 linux-initrd KCFG="" ;; @@ -1204,6 +1205,7 @@ buildipfire() { # arm multi platform (Panda, Wandboard ...) kernel build lfsmake2 linux KCFG="-multi" lfsmake2 rtl8189es KCFG="-multi" + lfsmake2 rtl8812au KCFG="-multi" lfsmake2 xradio KCFG="-multi" lfsmake2 xtables-addons KCFG="-multi" lfsmake2 linux-initrd KCFG="-multi" diff --git a/src/patches/rtl8812au/enable_usbmodeswitch.patch b/src/patches/rtl8812au/enable_usbmodeswitch.patch new file mode 100644 index 0000000000..b6aa930205 --- /dev/null +++ b/src/patches/rtl8812au/enable_usbmodeswitch.patch @@ -0,0 +1,12 @@ +diff -Naur a/os_dep/linux/os_intfs.c b/os_dep/linux/os_intfs.c +--- a/os_dep/linux/os_intfs.c 2021-05-21 22:58:44.000000000 +0200 ++++ b/os_dep/linux/os_intfs.c 2021-05-28 13:41:27.362529583 +0200 +@@ -324,7 +324,7 @@ + int rtw_single_ant_path; /*0:main ant , 1:aux ant , Fixed single antenna path, default main ant*/ + + /* 0: doesn't switch, 1: switch from usb2.0 to usb 3.0 2: switch from usb3.0 to usb 2.0 */ +-int rtw_switch_usb_mode = 0; ++int rtw_switch_usb_mode = 1; + + #ifdef CONFIG_USB_AUTOSUSPEND + int rtw_enusbss = 1;/* 0:disable,1:enable */