forked from morrownr/88x2bu-20210702
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
169 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,169 @@ | ||
2022-02-14 | ||
|
||
How to Upgrade wpa_supplicant | ||
|
||
Tested on: Linux Mint 20.2 - kernel 5.13 | ||
|
||
Info: Some distros may require additional updates beyond wpa_supplicant | ||
to support WPA3 in managed (client) mode. Hopefully, as time passes, | ||
making modifications will no longer be necessary for the Realtek | ||
drivers to fully support WPA3. No modifications, such as this, are | ||
necessary at this time for AP mode with the Raspberry Pi OS. | ||
|
||
Note: This document applies only to the following drivers: | ||
|
||
``` | ||
https://github.com/morrownr/8821au-20210708 | ||
https://github.com/morrownr/8812au-20210629 | ||
https://github.com/morrownr/88x2bu-20210702 | ||
https://github.com/morrownr/8821cu-20210118 | ||
``` | ||
|
||
Purpose: Provide instructions for upgrading wpa_supplicant. As of the | ||
date of this document, the specified Realtek USB WiFi adapter drivers | ||
cannot support WPA3 without a very new version of wpa_supplicant | ||
installed on most Linux distros. The version of wpa_supplicant required | ||
currently is not even released yet. It is the git main. | ||
|
||
This guide and its effectiveness has had limited testing but has been | ||
requested by users. It is now up to you, should you decide this is what | ||
want to do, to report success or failure so that we can improve this | ||
guide. | ||
|
||
Disclaimer: This guide attempts to help you install software that has | ||
not been released. This may break your system. If it does break your | ||
system, you own it. | ||
|
||
|
||
Step 1) Install dependencies required by wpa_supplicant. | ||
|
||
``` | ||
$ sudo apt install -y libssl-dev build-essential pkg-config libnl-3-dev | ||
$ sudo apt install -y libdbus-1-dev libdbus-glib-1-2 libdbus-glib-1-dev | ||
$ sudo apt install -y libreadline-dev libncurses5-dev libnl-genl-3-dev | ||
$ sudo apt install -y dbus libnl-route-3-dev | ||
``` | ||
|
||
Step 2) Go to the `src` directory. | ||
|
||
``` | ||
$ cd ~/src | ||
``` | ||
|
||
The `~/src` directory has already been created if you followed the | ||
instructions for installing any of the wifi drivers listed above. | ||
|
||
|
||
3) Download the wpa_supplicant source package. | ||
|
||
``` | ||
$ git clone git://w1.fi/hostap.git | ||
``` | ||
|
||
4) Go in to wpa_supplicant folder. | ||
|
||
``` | ||
$ cd ~/src/hostap/wpa_supplicant | ||
``` | ||
|
||
If an error is returned, check whether the directory name is correct. | ||
|
||
|
||
5) Create a build configuration file. | ||
|
||
``` | ||
$ sudo nano .config | ||
``` | ||
|
||
Add the following contents into .config and save ( Ctrl + X, Y, Enter ) | ||
|
||
``` | ||
# 2021-11.29 | ||
# .config for wpa_supplicant | ||
# Required for WPA3 | ||
CONFIG_TLS=openssl | ||
CONFIG_IEEE80211W=y | ||
CONFIG_SAE=y | ||
CONFIG_LIBNL20=y | ||
CONFIG_LIBNL32=y | ||
# | ||
# Defaults per defconfig | ||
CONFIG_DRIVER_WEXT=y | ||
CONFIG_DRIVER_NL80211=y | ||
CONFIG_DRIVER_WIRED=y | ||
CONFIG_DRIVER_MACSEC_LINUX=y | ||
CONFIG_IEEE8021X_EAPOL=y | ||
CONFIG_EAP_MD5=y | ||
CONFIG_EAP_MSCHAPV2=y | ||
CONFIG_EAP_TLS=y | ||
CONFIG_EAP_PEAP=y | ||
CONFIG_EAP_TTLS=y | ||
CONFIG_EAP_FAST=y | ||
CONFIG_EAP_GTC=y | ||
CONFIG_EAP_OTP=y | ||
CONFIG_EAP_PWD=y | ||
CONFIG_EAP_PAX=y | ||
CONFIG_EAP_LEAP=y | ||
CONFIG_EAP_SAKE=y | ||
CONFIG_EAP_GPSK=y | ||
CONFIG_EAP_GPSK_SHA256=y | ||
CONFIG_EAP_TNC=y | ||
CONFIG_WPS=y | ||
CONFIG_EAP_IKEV2=y | ||
CONFIG_MACSEC=y | ||
CONFIG_PKCS12=y | ||
CONFIG_SMARTCARD=y | ||
CONFIG_BACKEND=file | ||
CONFIG_CTRL_IFACE=y | ||
CONFIG_CTRL_IFACE_DBUS_NEW=y | ||
CONFIG_CTRL_IFACE_DBUS_INTRO=y | ||
CONFIG_IEEE80211R=y | ||
CONFIG_DEBUG_FILE=y | ||
CONFIG_DEBUG_SYSLOG=y | ||
CONFIG_IEEE80211AC=y | ||
CONFIG_INTERWORKING=y | ||
CONFIG_HS20=y | ||
CONFIG_AP=y | ||
CONFIG_P2P=y | ||
CONFIG_TDLS=y | ||
CONFIG_WIFI_DISPLAY=y | ||
CONFIG_DPP=y | ||
# | ||
# Not defaults per defconfig | ||
CONFIG_READLINE=y | ||
CONFIG_DEBUG_SYSLOG_FACILITY=LOG_DAEMON | ||
# | ||
# Extra | ||
CFLAGS += -I/usr/include/libnl3 | ||
# | ||
# End of .config | ||
``` | ||
|
||
6) Compile | ||
|
||
``` | ||
$ make | ||
``` | ||
|
||
7) Install | ||
|
||
``` | ||
$ sudo make install | ||
``` | ||
|
||
8) Reboot | ||
|
||
``` | ||
$ sudo reboot | ||
``` | ||
|
||
9) Check version | ||
|
||
``` | ||
$ wpa_supplicant -v | ||
``` | ||
|
||
----- |