88x2bu-20210702/docs/Update_wpa_supplicant_v3a.md
2022-02-18 14:18:24 -06:00

3.5 KiB

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.

  1. Download the wpa_supplicant source package.
$ git clone git://w1.fi/hostap.git
  1. Go in to wpa_supplicant folder.
$ cd ~/src/hostap/wpa_supplicant

If an error is returned, check whether the directory name is correct.

  1. 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
  1. Compile
$ make
  1. Install
$ sudo make install
  1. Reboot
$ sudo reboot 
  1. Check version
$ wpa_supplicant -v