Dropped connections for me have traditionally been bad/old driver and firmware issues. Although on my most recent laptop there's an antennae quirk. The hardware has connection points for 2 antennae but only 1 is connected to an antennae, and NOT the default one. So I have to pass ant_sel=# to the module/driver. If when you scan for networks and the signal strength is never > 50%, that is probably why. Quality 32/70 is the best I saw before applying the solution resulting in Quality 70/70. Although the module for your chipset doesn't seem to have that option.
$ sudo modinfo rtl8821ae
Code:
filename: /lib/modules/4.12.0-2-amd64/kernel/drivers/net/wireless/realtek/rtlwifi/rtl8821ae/rtl8821ae.ko
firmware: rtlwifi/rtl8821aefw_29.bin
firmware: rtlwifi/rtl8821aefw.bin
description: Realtek 8821ae 802.11ac PCI wireless
license: GPL
author: Realtek WlanFAE <wlanfae@realtek.com>
alias: pci:v000010ECd00008821sv*sd*bc*sc*i*
alias: pci:v000010ECd00008812sv*sd*bc*sc*i*
depends: rtlwifi,rtl_pci,btcoexist,mac80211
intree: Y
vermagic: 4.12.0-2-amd64 SMP mod_unload modversions
parm: swenc:Set to 1 for software crypto (default 0) (bool)
parm: ips:Set to 0 to not use link power save (default 1) (bool)
parm: swlps:Set to 1 to use SW control power save (default 0) (bool)
parm: fwlps:Set to 1 to use FW control power save (default 1) (bool)
parm: msi:Set to 1 to use MSI interrupts mode (default 1) (bool)
parm: debug_level:Set debug level (0-5) (default 0) (int)
parm: debug_mask:Set debug mask (default 0) (ullong)
parm: disable_watchdog:Set to 1 to disable the watchdog (default 0) (bool)
parm: int_clear:Set to 0 to disable interrupt clear before set (default 1) (bool)
$ sudo ip link set wlo1 up
$ sudo iw dev wlo1 scan
$ sudo iwlist wlo1 scanning
In my case $(sudo dmesg) results in these lines when my driver is loaded (rtl8723be).
$ sudo dmesg
Code:
[1461427.473007] rtl8723be: Using firmware rtlwifi/rtl8723befw_36.bin
[1461427.473229] rtl8723be 0000:02:00.0: firmware: direct-loading firmware rtlwifi/rtl8723befw_36.bin
[1461427.474401] ieee80211 phy0: Selected rate control algorithm 'rtl_rc'
[1461427.475397] rtlwifi: rtlwifi: wireless switch is on
[1461427.479690] rtl8723be 0000:02:00.0 wlo1: renamed from wlan0
[1461437.711735] IPv6: ADDRCONF(NETDEV_UP): wlo1: link is not ready
Take note of the firmware and it's location /lib/firmware/rtlwifi/rtl8723befw.bin and make sure that you have the newest version available. Yours will obviously differ in name. Various git methods from kernel.org to get the latest firmware, but you'll need to manually move it to the location that the driver pulls it from.