To support WiFi USB Adapter(s) with new vid/pid(s) which have rtl8821au or rtl8811au chipset.
Successful tested injection aireplay-ng -9 <interface>
, deauthentication aireplay-ng -0 1 -a <bssid> <interface>
.
NO fixed channel 1
issue.
Successful hcxdumptool driver test hcxdumptool -i <interface> --check_driver
and capture packets hcxdumptool -i <interface> -o test.pcapng --filterlist_ap=targets.lst --filtermode=2 --enable_status=15
(hcxdumptool -i <interface> -o test.pcapng --filterlist=targets.lst --filtermode=2 --enable_status=15)
.
Connecting to AP with WPA3 (WPA3-SAE) authentication method (IMPORTANT: Test distro Ubuntu 22.04 kernel 5.15 - NetworkManager 1.36.4 nmcli tool, version 1.36.4. Otherwise use wpa_supplicant).
Start WPA3 (WPA3-SAE) SoftAP.
TX power control tested with SoftAP mode and OpenWrt firmware (OpenWrt 21.02.0 r16279-5cc0535800, Channel Analysis Feature).
Download source:
git clone https://github.com/ivanovborislav/rtl8821au.git
cd rtl8821au
Install missing packages:
sudo apt-get install bc build-essential
Install linux headers:
sudo apt-get install linux-headers-$(uname -r)
or
apt-cache search linux-headers
sudo apt-get install linux-headers-5.14.0-kali4-amd64 (for example)
apt-cache search linux-image
sudo apt-get install linux-image-5.14.0-kali4-amd64 (for example)
Compile:
make
sudo make install
or
chmod +x install.sh
./install.sh -i
Raspberry Pi:
Edit Makefile
:
Ln142 - CONFIG_PLATFORM_I386_PC = y
to CONFIG_PLATFORM_I386_PC = n
Ln143 - CONFIG_PLATFORM_RPI_ARM = n
to CONFIG_PLATFORM_RPI_ARM = y
for ARM
or
Ln144 - CONFIG_PLATFORM_RPI_ARM64 = n
to CONFIG_PLATFORM_RPI_ARM64 = y
for ARM64
sudo git clone "https://github.com/ivanovborislav/rtl8821au.git" /usr/src/rtl8821au-5.12.5.2
sudo dkms add -m rtl8821au -v 5.12.5.2
sudo dkms autoinstall
dkms status
or
sudo git clone "https://github.com/ivanovborislav/rtl8821au.git" /usr/src/rtl8821au-5.12.5.2
sudo dkms add -m rtl8821au -v 5.12.5.2
sudo dkms build -m rtl8821au -v 5.12.5.2
sudo dkms install -m rtl8821au -v 5.12.5.2
dkms status
sudo airmon-ng check kill
sudo ip link set <interface> down
sudo iw dev <interface> set type monitor
sudo ip link set <interface> up
sudo ip link set <interface> down
sudo iw dev <interface> set type managed
sudo ip link set <interface> up
sudo systemctl restart NetworkManager (sudo service network-manager restart)
Note: Set TX power before start SoftAP mode. ...set txpower fixed 3000 = txpower 30.00 dBm
.
sudo iw dev <interface> set txpower fixed 3000
Remove (unload) a module from the Linux kernel.
sudo rmmod /lib/modules/$(uname -r)/kernel/drivers/net/wireless/8821au.ko
Insert (load) a module into the Linux kernel.
sudo insmod /lib/modules/$(uname -r)/kernel/drivers/net/wireless/8821au.ko rtw_ips_mode=1 rtw_drv_log_level=4 rtw_power_mgnt=2 rtw_led_ctrl=1
Create a file 8821au.conf
containing options 8821au rtw_ips_mode=1 rtw_drv_log_level=4 rtw_power_mgnt=2 rtw_led_ctrl=1
.
Copy a file to /etc/modprobe.d/
directory.
sudo cp -f 8821au.conf /etc/modprobe.d
Power saving control.
IPS (Inactive Power Saving) Function, rtw_ips_mode=
0:Disable IPS
1:Enable IPS (default)
LPS (Leisure Power Saving) Function, rtw_power_mgnt=
0:Disable LPS
1:Enable LPS
2:Enable LPS with clock gating (default)
Driver debug log level control, rtw_drv_log_level=
0:_DRV_NONE_
1:_DRV_ALWAYS_
2:_DRV_ERR_
3:_DRV_WARNING_
4:_DRV_INFO_ (default)
5:_DRV_DEBUG_
6:_DRV_MAX_
Driver LED control, rtw_led_ctrl=
0:led off
1:led blink (default)
2:led on
Driver VHT control, rtw_vht_enable=
0:disable
1:enable (default)
2:force auto enable
Driver REGD source selection, rtw_regd_src=
0:Realtek defined
1:OS (default, get channel plan from OS)
Example wpa_supplicant.conf with WPA3-Personal (WPA3-SAE).
update_config=1
ctrl_interface=/var/run/wpa_supplicant
country=EN
p2p_no_group_iface=1
sae_groups=19 20 21
network={
ssid="WPA3"
proto=RSN
key_mgmt=SAE
pairwise=CCMP
group=CCMP
ieee80211w=2
psk="1234567890"
}
Now start...
sudo systemctl stop NetworkManager
sudo killall wpa_supplicant
sudo wpa_supplicant -B -i <interface> -c wpa_supplicant.conf
sudo dhclient <interface>
Example hostapd.conf with WPA3-Personal (WPA3-SAE) 2.4GHz.
driver=nl80211
ctrl_interface=/var/run/hostapd
ctrl_interface_group=0
ssid=WPA3
country_code=EN
hw_mode=g
channel=6
beacon_int=100
dtim_period=1
max_num_sta=16
rts_threshold=2347
fragm_threshold=2346
ignore_broadcast_ssid=0
wmm_enabled=1
ieee80211n=1
ht_capab=[HT40-][SHORT-GI-20][SHORT-GI-40][RX-STBC1][MAX-AMSDU-7935][DSSS_CCK-40]
auth_algs=1
wpa=2
wpa_passphrase=1234567890
wpa_key_mgmt=SAE
wpa_pairwise=CCMP
rsn_pairwise=CCMP
ieee80211w=2
sae_groups=19 20 21
sae_require_mfp=1
Example hostapd.conf with WPA3-Personal (WPA3-SAE) 5GHz.
CAUTION: Allow width: 80 MHz, insmod 8821au.ko rtw_vht_enable=2
.
driver=nl80211
ctrl_interface=/var/run/hostapd
ctrl_interface_group=0
ssid=WPA3_5GHz
country_code=EN
hw_mode=a
channel=36
beacon_int=100
dtim_period=1
max_num_sta=16
rts_threshold=2347
fragm_threshold=2346
ignore_broadcast_ssid=0
wmm_enabled=1
ieee80211n=1
ht_capab=[HT40+][SHORT-GI-20][SHORT-GI-40][MAX-AMSDU-7935][DSSS_CCK-40]
ieee80211ac=1
vht_capab=[MAX-MPDU-11454][SHORT-GI-80][RX-STBC1][SU-BEAMFORMEE][HTC-VHT][MAX-A-MPDU-LEN-EXP7]
vht_oper_chwidth=1
vht_oper_centr_freq_seg0_idx=42
auth_algs=1
wpa=2
wpa_passphrase=1234567890
wpa_key_mgmt=SAE
wpa_pairwise=CCMP
rsn_pairwise=CCMP
ieee80211w=2
sae_groups=19 20 21
sae_require_mfp=1
Now start...
sudo killall hostapd
sudo hostapd -i <interface> hostapd.conf
TP-Link Archer T2U Plus V1
Linksys WRT1200AC V2
config wifi-iface 'default_radio1'
option device 'radio1'
option network 'lan'
option mode 'ap'
option macaddr '30:23:03:XX:XX:XX'
option ssid 'WPA3'
option encryption 'sae'
option key '1234567890'
option ieee80211w '2'