diff --git a/88x2bu.conf b/88x2bu.conf index fd27484..12ce7a5 100644 --- a/88x2bu.conf +++ b/88x2bu.conf @@ -3,7 +3,7 @@ # Purpose: Allow easy access to specific driver options. # # Edit the following line to change, add or delete options: -options 88x2bu rtw_drv_log_level=0 rtw_led_ctrl=1 rtw_vht_enable=1 rtw_power_mgnt=1 rtw_beamform_cap=0 rtw_dfs_region_domain=0 rtw_switch_usb_mode=0 +options 88x2bu rtw_drv_log_level=0 rtw_led_ctrl=0 rtw_vht_enable=1 rtw_power_mgnt=1 rtw_beamform_cap=0 rtw_switch_usb_mode=0 # # After editing is complete, save this file (if using nano: Ctrl + x, y, Enter) # and reboot to activate the changes. diff --git a/Makefile b/Makefile index 3b40445..2714b73 100644 --- a/Makefile +++ b/Makefile @@ -59,8 +59,10 @@ CONFIG_SDIO_HCI = n CONFIG_GSPI_HCI = n ########################## Features ########################### CONFIG_AP_MODE = y -CONFIG_P2P = y +# blue ocean +CONFIG_P2P = n CONFIG_MP_INCLUDED = n +# blue ocean CONFIG_CONCURRENT_MODE = n CONFIG_POWER_SAVING = y CONFIG_IPS_MODE = default @@ -86,7 +88,8 @@ CONFIG_80211W = y CONFIG_REDUCE_TX_CPU_LOADING = n CONFIG_BR_EXT = y CONFIG_TDLS = n -CONFIG_WIFI_MONITOR = y +# blue ocean +CONFIG_WIFI_MONITOR = n CONFIG_MCC_MODE = n CONFIG_APPEND_VENDOR_IE_ENABLE = n CONFIG_RTW_NAPI = y @@ -114,7 +117,8 @@ CONFIG_RTW_DEBUG = y CONFIG_RTW_LOG_LEVEL = 0 # enable /proc/net/rtlxxxx/ debug interfaces -CONFIG_PROC_DEBUG = y +# BOR +CONFIG_PROC_DEBUG = n ######################## Wake On Lan ########################## CONFIG_WOWLAN = n diff --git a/README.md b/README.md index a79b158..c35c6bd 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@ sudo uname -a; mokutil --sb-state; lsusb; rfkill list all; dkms status; iw dev ## Linux Driver for USB WiFi Adapters that are based on the RTL8812BU and RTL8822BU Chipsets - v5.13.1 (Realtek) (20210702) plus updates from the Linux community -- 5,027 Views over the 2 weeks ended on 20220218 (Thank you!) +- 5,386 Views over the 2 weeks ended on 20220221 (Thank you!) ### Features @@ -32,6 +32,7 @@ sudo uname -a; mokutil --sb-state; lsusb; rfkill list all; dkms status; iw dev * Supports wireless security for WEP, WPA TKIP and WPA2 AES PSK * Supports site survey scan and manual connect * Supports WPA/WPA2 TLS client +- IEEE 802.11k support - Power saving modes - Wireshark compatible - Aircrack-ng compatible diff --git a/include/autoconf.h b/include/autoconf.h index 584491b..7137b4f 100644 --- a/include/autoconf.h +++ b/include/autoconf.h @@ -186,7 +186,7 @@ #define USB_INTERFERENCE_ISSUE /* this should be checked in all usb interface */ #define CONFIG_GLOBAL_UI_PID -/*#define CONFIG_RTW_80211K*/ +#define CONFIG_RTW_80211K /*#define CONFIG_ADAPTOR_INFO_CACHING_FILE */ /* now just applied on 8192cu only, should make it general... */ /*#define CONFIG_RESUME_IN_WORKQUEUE */ diff --git a/install-driver-no-dkms.sh b/install-driver-no-dkms.sh new file mode 100755 index 0000000..5bd60c7 --- /dev/null +++ b/install-driver-no-dkms.sh @@ -0,0 +1,118 @@ +#!/bin/bash + +SCRIPT_NAME="install-driver-no-dkms.sh" +SCRIPT_VERSION="20220222" + +DRV_NAME="rtl88x2bu" +DRV_VERSION="5.13.1" +OPTIONS_FILE="88x2bu.conf" + +DRV_DIR="$(pwd)" +KRNL_VERSION="$(uname -r)" + +clear + +# support for NoPrompt allows non-interactive use of this script +NO_PROMPT=0 + +# get the options +while [ $# -gt 0 ] +do + case $1 in + NoPrompt) + NO_PROMPT=1 ;; + *h|*help|*) + echo "Syntax $0 " + echo " NoPrompt - noninteractive mode" + echo " -h|--help - Show help" + exit 1 + ;; + esac + shift +done + +# check to ensure sudo was used +if [[ $EUID -ne 0 ]] +then + echo "You must run this script with superuser (root) privileges." + echo "Try: \"sudo ./${SCRIPT_NAME}\"" + exit 1 +fi + +# check for previous installation +#if [[ -d "/usr/src/${DRV_NAME}-${DRV_VERSION}" ]] +#then +# echo "It appears that this driver may already be installed." +# echo "You will need to run the following before reattempting installation." +# echo "$ sudo ./remove-driver.sh" +# exit 1 +#fi + +# information that helps with bug reports +# displays script name and version +echo "Running ${SCRIPT_NAME} version ${SCRIPT_VERSION}" +# distro +hostnamectl | grep 'Operating System' | sed 's/ Operating System: //' +# kernel +uname -r +# architecture - for ARM: aarch64 = 64 bit, armv7l = 32 bit +uname -m +# getconf LONG_BIT (need to work on this) + +echo "Starting installation..." +# the add command requires source in /usr/src/${DRV_NAME}-${DRV_VERSION} +#echo "Copying source files to: /usr/src/${DRV_NAME}-${DRV_VERSION}" +#cp -rf "${DRV_DIR}" /usr/src/${DRV_NAME}-${DRV_VERSION} +echo "Copying ${OPTIONS_FILE} to: /etc/modprobe.d" +cp -f ${OPTIONS_FILE} /etc/modprobe.d + +make clean + +make +RESULT=$? + +if [[ "$RESULT" != "0" ]] +then + echo "An error occurred. Error = ${RESULT}" + echo "Please report this error." + echo "You will need to run the following before reattempting installation." + echo "$ sudo ./remove-driver-no-dkms.sh" + exit $RESULT +fi + +make install +RESULT=$? + +if [[ "$RESULT" != "0" ]] +then + echo "An error occurred. Error = ${RESULT}" + echo "Please report this error." + echo "You will need to run the following before reattempting installation." + echo "$ sudo ./remove-driver-no-dkms.sh" + exit $RESULT +fi + +echo "The driver was installed successfully." + +# unblock wifi +rfkill unblock wlan + +# if NoPrompt is not used, ask user some questions to complete installation +if [ $NO_PROMPT -ne 1 ] +then + read -p "Do you want to edit the driver options file now? [y/N] " -n 1 -r + echo + if [[ $REPLY =~ ^[Yy]$ ]] + then + nano /etc/modprobe.d/${OPTIONS_FILE} + fi + + read -p "Do you want to reboot now? (recommended) [y/N] " -n 1 -r + echo + if [[ $REPLY =~ ^[Yy]$ ]] + then + reboot + fi +fi + +exit 0 diff --git a/os_dep/linux/usb_intf.c b/os_dep/linux/usb_intf.c index 03005f3..ff03152 100644 --- a/os_dep/linux/usb_intf.c +++ b/os_dep/linux/usb_intf.c @@ -247,6 +247,7 @@ static struct usb_device_id rtw_usb_id_tbl[] = { {USB_DEVICE_AND_INTERFACE_INFO(0x7392, 0xC822, 0xff, 0xff, 0xff), .driver_info = RTL8822B}, /* Edimax */ {USB_DEVICE_AND_INTERFACE_INFO(0x7392, 0xD822, 0xff, 0xff, 0xff), .driver_info = RTL8822B}, /* Edimax */ {USB_DEVICE_AND_INTERFACE_INFO(0x7392, 0xE822, 0xff, 0xff, 0xff), .driver_info = RTL8822B}, /* Edimax */ + {USB_DEVICE_AND_INTERFACE_INFO(0x7392, 0xF822, 0xff, 0xff, 0xff), .driver_info = RTL8822B}, /* Edimax */ {USB_DEVICE_AND_INTERFACE_INFO(0x13b1, 0x0043, 0xff, 0xff, 0xff), .driver_info = RTL8822B}, /* Alpha - Alpha */ {USB_DEVICE_AND_INTERFACE_INFO(0x2357, 0x012D, 0xff, 0xff, 0xff), .driver_info = RTL8822B}, /* TP-Link Archer T3U v1 */ {USB_DEVICE_AND_INTERFACE_INFO(0x2357, 0x0138, 0xff, 0xff, 0xff), .driver_info = RTL8822B}, /* TP-Link Archer T3U Plus v1 */ diff --git a/remove-driver-no-dkms.sh b/remove-driver-no-dkms.sh new file mode 100755 index 0000000..759bf6e --- /dev/null +++ b/remove-driver-no-dkms.sh @@ -0,0 +1,69 @@ +#!/bin/bash + +SCRIPT_NAME="remove-driver-no-dkms.sh" +SCRIPT_VERSION="20220222" + +DRV_NAME="rtl88x2bu" +DRV_VERSION="5.13.1" +OPTIONS_FILE="88x2bu.conf" + +DRV_DIR="$(pwd)" +KRNL_VERSION="$(uname -r)" + +clear +echo "Running ${SCRIPT_NAME} version ${SCRIPT_VERSION}" + +# support for NoPrompt allows non-interactive use of this script +NO_PROMPT=0 + +# get the options +while [ $# -gt 0 ] +do + case $1 in + NoPrompt) + NO_PROMPT=1 ;; + *h|*help|*) + echo "Syntax $0 " + echo " NoPrompt - noninteractive mode" + echo " -h|--help - Show help" + exit 1 + ;; + esac + shift +done + +# check to ensure sudo was used +if [[ $EUID -ne 0 ]] +then + echo "You must run this script with superuser (root) privileges." + echo "Try: \"sudo ./${SCRIPT_NAME}\"" + exit 1 +fi + +echo "Starting removal..." + +make uninstall +RESULT=$? + +if [[ ("$RESULT" = "0")]] +then + echo "Deleting ${OPTIONS_FILE} from /etc/modprobe.d" + rm -f /etc/modprobe.d/${OPTIONS_FILE} + echo "The driver was removed successfully." +else + echo "An error occurred. Error = ${RESULT}" + echo "Please report this error." + exit $RESULT +fi + +if [ $NO_PROMPT -ne 1 ] +then + read -p "Do you want to reboot now? (recommended) [y/N] " -n 1 -r + echo + if [[ $REPLY =~ ^[Yy]$ ]] + then + reboot + fi +fi + +exit 0 diff --git a/supported-device-IDs b/supported-device-IDs index 7f28b48..04ad647 100644 --- a/supported-device-IDs +++ b/supported-device-IDs @@ -24,6 +24,7 @@ ID 7392:B822 ID 7392:C822 ID 7392:D822 ID 7392:E822 +ID 7392:F822 ID 13b1:0043 ID 2357:012D ID 2357:0138