[SOLVED] How to use SparkLAN WNFQ-258ACN(BT) / QCA6174A in OpenWRT

I've been struggling with this one for quite a while so I decided to post here how I did it.

opkg update
opkg install luci
opkg install kmod-ath10k
opkg install ath10k-firmware-qca6174
cp /lib/firmware/ath10k/QCA6174/hw3.0/firmware-4.bin_WLAN.RM.2.0-00180-QCARMSWPZ-1 /lib/firmware/ath10k/QCA6174/hw3.0/firmware-4.bin
reboot

After reboot configure the interface as per normal in the web GUI.

Here comes the part I was stuck on.
If you get these messages when a client connects

logread -f
Sun Apr  1 11:38:35 2018 daemon.info hostapd: wlan1: STA 38:a4:ed:00:9c:31 IEEE 802.11: authenticated
Sun Apr  1 11:38:35 2018 daemon.info hostapd: wlan1: STA 38:a4:ed:00:9c:31 IEEE 802.11: associated (aid 1)
Sun Apr  1 11:38:36 2018 daemon.notice hostapd: wlan1: AP-STA-CONNECTED 38:a4:ed:00:9c:31
Sun Apr  1 11:38:36 2018 daemon.info hostapd: wlan1: STA 38:a4:ed:00:9c:31 RADIUS: starting accounting session CEE4BF72221F548A
Sun Apr  1 11:38:36 2018 daemon.info hostapd: wlan1: STA 38:a4:ed:00:9c:31 WPA: pairwise key handshake completed (RSN)
Sun Apr  1 11:38:51 2018 daemon.info hostapd: wlan1: STA 38:a4:ed:00:9c:31 IEEE 802.11: disconnected due to excessive missing ACKs
Sun Apr  1 11:38:51 2018 daemon.notice hostapd: wlan1: AP-STA-DISCONNECTED 38:a4:ed:00:9c:31
Sun Apr  1 11:39:21 2018 daemon.info hostapd: wlan1: STA 38:a4:ed:00:9c:31 IEEE 802.11: deauthenticated due to inactivity (timer DEAUTH/REMOVE)

then go and disable disassoc_low_ack:

vi /etc/config/wireless
config wifi-iface 'default_radio0'
	option device 'radio0'
	option network 'lan'
	option mode 'ap'
	option ssid 'SSID'
	option key 'password'
	option encryption 'psk2'
	option disassoc_low_ack 0

save and reboot again.
source: http://lists.infradead.org/pipermail/ath10k/2015-July/005648.html