Pocket Reform WiFi issue (disconnecting)

My pocket Reform behaves strangely on the WiFi: it connects normally (even to the EDUROAM), then the wifi works for a few minutes but after that time it disconnects. Then then wifi network is no longer visible so it does not reconnect.

It behaves this way on several WiFi networks (at home I use the Ethernet so I hě not noticed this earlier). Is it normal?

I use the default Debian with updates.

The active driver is qcacld2 yes? Do you see anything in dmesg? Normally the qca9377+qcacld2 combo is very stable. Perhaps there are reception/antenna issues?

You can use tools like wavemon and linssid to get more insight into signal strengths of all the WiFis around you and the signal strength history. I just tried them on my Pocket Reform, here are some screenshots. To be able to use linssid-pkexec you need to execute xhost + first to allow X connections from the root account.



2 Likes

I’m having similar issues although it generally just reconnects immediately but after a couple of hours (I’m trying to rsync a 250Gb directory to a SSD) it disconnects and does not connect to any network anymore without rebooting.

On other machines I’ve been able avoid rebooting by reloading the kernel module providing wlan when something like this happens but modprobe does not “see” the qcacld2 module as listed by lsmod, is there a trick for that as a temporary workaround?

$ lsmod | grep cfg80211
cfg80211              843776  1 qcacld2
rfkill                 32768  6 bluetooth,cfg80211
$ sudo modprobe -r qcacld2
[sudo] password for me:
modprobe: FATAL: Module qcacld2 not found.
1 Like

Thank you! The only strange thing in the dmesg output is: ar6k_wlan mmc1:0001:1: firmware: failed to load wlan/qcacld2/wlan_mac.bin (-2)

The qcacld2 module is built and loaded out-of-tree, it resides in /opt/reform-qcacld2. See the function init_qca9377_wifi in /sbin/reform-hw-setup for how it’s loaded:

init_qca9377_wifi() {
    # load out-of-tree Wi-Fi driver
    KERNVER=$(dpkg-query --show --showformat '${Version}' "linux-image-$(uname -r)")
    modprobe cfg80211
    insmod -f "/opt/reform-qcacld2/qcacld2-${KERNVER}.ko"
}

For completeness, the sources of the driver are here: Reform / qcacld2 · GitLab

Normally, QCA9377 is supposed to be supported by the ath10k-sdio mainline-kernel driver, but I wasn’t able to get it to work. That is why we are using Qualcomm’s original driver.

3 Likes

I worded today in smaller distance to the AP and no issues. If the signal is weaker the there is a problem (but other similar devices work there without such issues). Will try to measure the signal with tools you mentioned (I had little time to do today).