This example is using RTL8821AU chipset from a TP-Link T2U Plus USB adapter and other similar ones should work the same.
Here's how to get this chipset RTL8821AU working in Linux.
Here's how to get RTL8812 and RTL8822 working in Linux.
With these settings I can get very good speeds of 300+ mbit per second and for some reason the upload speed is faster than download.
Change wlan0 if your adapter has a different device name and make sure you set your WPA passphrase or change it.
interface=wlan0
#prevent client dropping
#max_inactivity=86400
skip_inactivity_poll=1
# Station inactivity limit in seconds (default is 300)
ap_max_inactivity=86400
wmm_enabled=1
beacon_int=100
dtim_period=2
# "a" simply means 5GHz
#driver=cfg80211
hw_mode=a
# the channel to use, 0 means the AP will search for the channel with the least interferences (ACS)
channel=36
#ieee80211d=1
country_code=US
ieee80211n=1
ht_capab=[HT40+][HT40-][SHORT-GI-20][SHORT-GI-40][MAX-AMSDU-7935]
#the below doesn't work hostapd wouldn't start
#ht_capab=[HT40+][HT40-][SHORT-GI-20][SHORT-GI-40][RX-STBC1][MAX-AMSDU-7935]
# 802.11ac support
ieee80211ac=1
wmm_enabled=1
#vht_capab=[MAX-MPDU-11454][SHORT-GI-80][HTC-VHT]
vht_capab=[MAX-MPDU-11454][SHORT-GI-80][RX-STBC-1][HTC-VHT][MAX-A-MPDU-LEN-EXP7]
#optimize?
beacon_int=100
dtim_period=2
max_num_sta=32
macaddr_acl=0
rts_threshold=2347
fragm_threshold=2346
#end optimize
ssid=rttWirelessInternet
auth_algs=1
wpa=2
wpa_key_mgmt=WPA-PSK
rsn_pairwise=CCMP
wpa_passphrase=YOURWirelessInSecurePasswordHere
#you want to disable PMF if you find your clients don't connect although it is less secure and subjects you to deauth attacks
ieee80211w=0
How to enable 80mhz mode:
vht_capab=[MAX-MPDU-11454][SHORT-GI-80][RX-STBC-1][HTC-VHT][MAX-A-MPDU-LEN-EXP7][VHT80]
vht_oper_chwidth=1
If you are using one of the RTL8xx drivers follow this guide so 80mhz mode works:
https://realtechtalk.com/RTL88X_Series_80Mhz_hostapd_mode_for_Linux_Debian_Kali-2646-articles
Until I had all of the below settings, clients would just drop off and not reconnect. Sypmtoms of this would be if you walked out of range and came back, the client eg. phone/laptop would not reconnect. If your phone went to sleep, it doesn't wakeup and automatically reconnect to the wifi, you would need to force connect the wifi manually.
skip_inactivity_poll=1
ap_max_inactivity=86400
wmm_enabled=1
beacon_int=100
dtim_period=2
hostapd, configuration, ac, ghz, wpa, rtl, au, chipset, tp, usb, adapter, linux, settings, speeds, mbit, upload, download, wlan, passphrase, interface, quot, cfg, hw_mode, ap, interferences, acs, ieee, country_code, ht_capab, ht, gi, amsdu, doesn, wouldn, rx, stbc, wmm_enabled, vht_capab, mpdu, htc, vht, len, exp, optimize, beacon_int, dtim_period, max_num_sta, macaddr_acl, rts_threshold, fragm_threshold, ssid, wirelessinternettelus, auth_algs, wpa_key_mgmt, psk, rsn_pairwise, ccmp, wpa_passphrase, yourwirelessinsecurepasswordhere,