Download; wpasupplicant 2:2.9-8. Package Actions. Source Files / View Changes; Bug Reports / Add New Bug; Search Wiki. Install the wpasupplicant package, which includes the main program wpasupplicant, the passphrase tool wpapassphrase, and the text front-end wpacli. Optionally, also install the official wpasupplicantgui AUR which provides wpagui, a graphical front-end for wpasupplicant, or wpa-cute AUR which is a fork from an earlier version of wpa. Wpasupplicant is a cross-platform supplicant with support for WEP, WPA and WPA2 (IEEE 802.11i).It is suitable for desktops, laptops and embedded systems. It is the IEEE 802.1X/WPA component that is used in the client stations.
Select Your Operating System
Add repository and install manually
For openSUSE Tumbleweed run the following as root:
For openSUSE Leap 15.2 run the following as root:
For openSUSE Leap 15.1 run the following as root:
For openSUSE Factory-z run the following as root:
Grab binary packages directly
Packages for openSUSE Leap 15.2:
Packages for openSUSE Factory-z:
Add repository and install manually
For SLE 15 SP2 run the following as root:
For SLE 12 SP5 run the following as root:
For SLE 12 SP4 run the following as root:
Grab binary packages directly
Packages for SLE 12 SP5:
*Important note to pay attention to* |
You'll most likely use eth0 on a USG and eth2 or eth3 on a USG-Pro, edit the files accordingly. Do not run the supplicant on virtual interfaces (e.g. eth0.0), as it will not work. |
*Pre-requisites* |
Get certs, run the mfg_dat_decode tool. You should end up with 3 certs: CA_*.pem, Client_*.pem and PrivateKey_PKCS1_*.pem, as well as a a wpa_supplicant.conf file |
In the archive generated by the tool, edit wpa_supplicant.conf to add the full path /config/auth/ to all 3 files: |
network={ |
ca_cert='/config/auth/CA_xxxxxx.pem' |
client_cert='/config/auth/Client_xxxxxx.pem' |
eap=TLS |
eapol_flags=0 |
identity='AA:AA:AA:AA:AA:AA' # Gateway MAC address |
key_mgmt=IEEE8021X |
phase1='allow_canned_success=1' |
private_key='/config/auth/PrivateKey_PKCS1_xxxxxx.pem' |
} |
Download the compiled WPA Supplicant binary: https://www.dslreports.com/r0/download/2382315~c173ce2d062cf92116ed2427bb79dd18/wpa_supplicant.zip |
Create wpa_supplicant.sh and make sure it matches your WAN port |
#!/usr/bin/env bash |
#Start EAP-TLS on eth0 |
#Check if already running to avoid multiple instances |
IF_WAN=eth0 |
PROCESS_NAME=wpa_supplicant |
PROCESS_PATH=/config/scripts/wpa_supplicant |
PROCESS_COUNT=$(ps -A | grep $PROCESS_NAME | egrep -v 'grep|$(basename $0)' | grep -c $PROCESS_NAME) |
if [ $PROCESS_COUNT = 0 ] && [ -x $PROCESS_PATH ]; then |
$PROCESS_PATH -s -B -Dwired -i$IF_WAN -c/config/scripts/wpa_supplicant.conf -g/var/run/wpa_supplicant.ctrl -P/var/run/wpa_supplicant.pid |
fi |
SCP into usg and drop the following files into the following locations: |
/config/scripts/wpa_supplicant (the binary file from 2.) |
/config/scripts/post-config.d/wpa_supplicant.sh |
/config/wpa_supplicant.conf |
3 certificate PEM files to /config/auth |
Run the following commands: |
sudo chmod +x /config/scripts/wpa_supplicant |
sudo chmod +x /config/scripts/post-config.d/wpa_supplicant.sh |
sudo chmod -R 0600 /config/auth |
Set your WAN port VLAN to 0, you might need to use the old UI for this as the new one errors out when choosing VLAN 0. |
Create a config.gateway.json file to ensure the MAC spoofing is persistent, make sure the values in bold are updated: |
{ |
'interfaces':{ |
'ethernet':{ |
'eth0':{ |
'mac':”AA:AA:AA:AA:AA:AA' |
} |
} |
} |
} |
Follow the USG documentation: https://help.ubnt.com/hc/en-us/articles/215458888-UniFi-USG-Advanced-Configuration#2 |
Reboot the gateway. |
Monitor logs on the gateway by running |
tail -n 50 -f /var/log/messages |
commented Jan 25, 2021
On line 33, wpa_supplicant.conf is at /config/scripts/, but on line 39, it is at /config/. |