WiFi roaming not working properly

Recently I got more than one WiFi AP going and it seems that roaming on the Pinephone is currently broken. Even when going to the very edge of range of the AP the Pinephone connected to initially, it stays connected to that initial AP. This got me to dig a little deeper.

From my understanding NetworkManager uses wpa_supplicant for handling authentication and connecting to APs and wpa_supplicant is controlled by NetworkManager using DBus.

When connecting to a network, this can be observed in NM's log: Config: added 'bgscan' value 'simple:30:-70:86400', meaning that wpa_supplicant should perform a scan of nearby APs every 30 seconds when below a threshold of -70 dBm and every 86400 seconds when above the threshold. Whenever wpa_supplicant sees an AP with a stronger signal than the one it's currently associated with, roaming is initiated.

Typically wpa_supplicant produces these messages on devices that have working roaming and background scanning:

wlp7s0: CTRL-EVENT-SIGNAL-CHANGE above=1 signal=-69 noise=-106 txrate=5500
wlp7s0: CTRL-EVENT-SIGNAL-CHANGE above=1 signal=-62 noise=-106 txrate=54000
wlp7s0: CTRL-EVENT-SIGNAL-CHANGE above=1 signal=-60 noise=-105 txrate=1000

These messages can't be seen on the Pinephone, instead this is produced every time when connecting to a network:

bgscan simple: Failed to enable signal strength monitoring

This is a pretty strange thing tho because wavemon can read the signal strength without any problem: image

Since wavemon is able to get to the signal strength I don't think this is a driver/kernel issue. That being said, I'm completely lost as to what's causing this.

Package versions:
NetworkManager: 1.34.0-1
wpa_supplicant: 2:2.10-3
linux-pinephone: 5.17.1-2
uboot-pinephone: 2022.04-1
linux-firmware: 20220309.cd01f85-1