numerous updates plus concurrent mode support

This commit is contained in:
morrownr 2021-12-04 15:22:26 -06:00
parent b46f775f66
commit abf14c6b29
10 changed files with 207 additions and 64 deletions

View File

@ -84,8 +84,6 @@ CONFIG_RTW_ADAPTIVITY_MODE = normal
CONFIG_SIGNAL_SCALE_MAPPING = n
# necessary for WPA3 support
CONFIG_80211W = y
# necessary for WPA3 support
CONFIG_GTK_OL = y
CONFIG_REDUCE_TX_CPU_LOADING = n
CONFIG_BR_EXT = y
CONFIG_TDLS = n
@ -1069,10 +1067,6 @@ ifeq ($(CONFIG_MP_INCLUDED), y)
EXTRA_CFLAGS += -DCONFIG_MP_INCLUDED
endif
ifeq ($(CONFIG_CONCURRENT_MODE), y)
EXTRA_CFLAGS += -DCONFIG_CONCURRENT_MODE
endif
ifeq ($(CONFIG_POWER_SAVING), y)
ifneq ($(CONFIG_IPS_MODE), default)
EXTRA_CFLAGS += -DRTW_IPS_MODE=$(CONFIG_IPS_MODE)
@ -1357,12 +1351,10 @@ EXTRA_CFLAGS += -DCONFIG_RTW_MBO -DCONFIG_RTW_80211K -DCONFIG_RTW_WNM -DCONFIG_R
EXTRA_CFLAGS += -DCONFIG_RTW_80211R
endif
# necessary for WPA3 support
ifeq ($(CONFIG_GTK_OL), y)
EXTRA_CFLAGS += -DCONFIG_GTK_OL
endif
ifeq ($(CONFIG_PLATFORM_I386_PC), y)
ifeq ($(CONFIG_CONCURRENT_MODE), y)
EXTRA_CFLAGS += -DCONFIG_CONCURRENT_MODE
endif
EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIAN
EXTRA_CFLAGS += -DCONFIG_IOCTL_CFG80211 -DRTW_USE_CFG80211_STA_EVENT
SUBARCH := $(shell uname -m | sed -e s/i.86/i386/)
@ -1378,6 +1370,9 @@ endif
### START RASPBERRY PI OS SUPPORT
ifeq ($(CONFIG_PLATFORM_ARM_RPI), y)
ifeq ($(CONFIG_CONCURRENT_MODE), y)
EXTRA_CFLAGS += -DCONFIG_CONCURRENT_MODE
endif
EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIAN
EXTRA_CFLAGS += -DCONFIG_IOCTL_CFG80211 -DRTW_USE_CFG80211_STA_EVENT
#EXTRA_CFLAGS += -DPLATFORM_LINUX
@ -1390,6 +1385,9 @@ INSTALL_PREFIX :=
endif
ifeq ($(CONFIG_PLATFORM_ARM64_RPI), y)
ifeq ($(CONFIG_CONCURRENT_MODE), y)
EXTRA_CFLAGS += -DCONFIG_CONCURRENT_MODE
endif
EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIAN
EXTRA_CFLAGS += -DCONFIG_IOCTL_CFG80211 -DRTW_USE_CFG80211_STA_EVENT
#EXTRA_CFLAGS += -DPLATFORM_LINUX
@ -2576,4 +2574,3 @@ clean:
rm -fr *.mod.c *.mod *.o .*.cmd *.ko *~
rm -fr .tmp_versions
endif

114
README.md

File diff suppressed because it is too large Load Diff

23
cmode-on.sh Executable file
View File

@ -0,0 +1,23 @@
#!/bin/bash
#
# 2021-12-03
#
# Purpose: Turn Concurrent Mode on.
#
# To make this file executable:
#
# $ chmod +x edit-options.sh
#
# To execute this file:
#
# $ ./cmode-on.sh
sed -i 's/CONFIG_CONCURRENT_MODE = n/CONFIG_CONCURRENT_MODE = y/g' Makefile
RESULT=$?
if [[ "$RESULT" != "0" ]]; then
echo "An error occurred and Concurrent Mode was not turned on in Makefile."
exit 1
else
echo "Concurrent Mode was turned on in Makefile as planned."
fi

68
docs/Concurrent_Mode.md Normal file
View File

@ -0,0 +1,68 @@
2021-12-03
What is Concurrent Mode?
Concurrent Mode creates 2 wireless network interfaces (wlan0, wlan1) and those
two interfaces share the same WiFi adapter.
This feature allows performing 2 separate wireless tasks at the same time with a
single WiFi adapter.
For example:
Use station mode (called managed or client mode also) to connect with an
AP to access the internet at the same time as it also performs as an AP
to allow other devices to connect to the second interface.
Note: Only supports 3 combinations
1. Station mode + Station mode
2. Station mode + AP mode
3. Station mode + P2P mode
-----
How do I Enable Concurrent Mode?
Run the following as instructed during the installation process:
```
./cmode-on.sh
```
Once the driver is fully installed and you have rebooted the system, you
can verify that this works by typing the “iw dev” command, You should
see two wireless interfaces, and the MAC address of secondary interface
is nearly the same as the first except for one digit.
-----
FAQ:
Q: Which wireless interface can run in station mode? Which
wireless interface can run in AP mode?
A: It is recommended to run station mode in wlan0 and AP or P2P mode in
wlan1.
Q: How is the throughput with 2 wireless interfaces in concurrent mode?
A: Because there is only one physical hardware device, the two wireless
interfaces (wlan0, wlan1) will share the transmit bandwidth.
For example:
Assume the throughput limitation of current environment is 85Mb/s,
then the throughput of wlan0 + the throughput of wlan1 is basically
equal or smaller than 85Mb/s.
Q: Everything is fine when I only start hostapd, but when I start running
station mode in the other interface at the same time, hostapd will disconnect
for a moment then will reconnect again, however ,the channel is differ from
before. Is something wrong?
A: Dont worry, it is fine! As mentioned before, those two wireless interfaces
share the same physical hardware device. That means those 2 wireless interfaces
must use the same channel. The AP/P2P interface should use the same channel as
the station interface. If both interfaces are running in station mode, the
connected APs MUST be on same channel.

View File

@ -1,7 +1,7 @@
#!/bin/bash
SCRIPT_NAME="install-driver.sh"
SCRIPT_VERSION="20211026"
SCRIPT_VERSION="20211204"
DRV_NAME="rtl88x2bu"
DRV_VERSION="5.13.1"

View File

@ -2,13 +2,13 @@
#
# Purpose: Change settings in the Makefile to support compiling for Raspberry Pi OS (32 bit).
#
# To make this file executable:
# To make this file executable (if necessary):
#
# $ chmod +x edit-options.sh
# $ chmod +x raspiOS-32.sh
#
# To execute this file:
#
# $ ./raspi32.sh
# $ ./raspiOS-32.sh
sed -i 's/CONFIG_PLATFORM_I386_PC = y/CONFIG_PLATFORM_I386_PC = n/g' Makefile
RESULT=$?

View File

@ -4,11 +4,11 @@
#
# To make this file executable:
#
# $ chmod +x edit-options.sh
# $ chmod +x raspiOS-64.sh
#
# To execute this file:
#
# $ ./raspi64.sh
# $ ./raspiOS-64.sh
sed -i 's/CONFIG_PLATFORM_I386_PC = y/CONFIG_PLATFORM_I386_PC = n/g' Makefile
RESULT=$?

View File

@ -1,12 +1,30 @@
#!/bin/bash
SCRIPT_NAME="remove-driver.sh"
SCRIPT_VERSION="20211026"
SCRIPT_VERSION="20211204"
DRV_NAME="rtl88x2bu"
DRV_VERSION="5.13.1"
OPTIONS_FILE="88x2bu.conf"
NO_PROMPT=0
# Get the options
while [ $# -gt 0 ]
do
case $1 in
NoPrompt)
NO_PROMPT=1 ;;
*h|*help|*)
echo "Syntax $0 <NoPrompt>"
echo " NoPrompt - noninteractive mode"
echo " -h|--help - Show help"
exit 1
;;
esac
shift
done
if [[ $EUID -ne 0 ]]
then
echo "You must run this script with superuser (root) privileges."
@ -36,11 +54,14 @@ else
exit $RESULT
fi
read -p "Are you ready to reboot now? [y/N] " -n 1 -r
echo # move to a new line
if [[ $REPLY =~ ^[Yy]$ ]]
then
reboot
if [ $NO_PROMPT -ne 1 ]
then
read -p "Are you ready to reboot now? [y/N] " -n 1 -r
echo
if [[ $REPLY =~ ^[Yy]$ ]]
then
reboot
fi
fi
exit 0