[UPDATE] Successfully fixed the problems of QCA9377 802.11ac Wireless Network Adapter!

Posted by lonelyroom-eklaghor@reddit | linux | View on Reddit | 77 comments

If you have a Qualcomm Atheros QCA9377 802.11ac Wireless Network Adapter and you're facing issues in Linux, this is for you only.

This is based on the previous post regarding Qualcomm (written by me): https://www.reddit.com/r/linux/comments/1jzcx7d/update_qualcomm_fsck_you/

I have swtiched from KDE Neon to Fedora Workstation, and honestly, it works mostly fine (except the Night Light). However, I faced the same Wi-Fi problem initially. As I was trying out everything, I noted down the quirks of all the techniques out there on the Internet.

The issue here is that there are two kinds of problem with this particular WLAN adapter: the disconnection problem and the network speed problem. In my case, I'll be mainly dealing with the disconnection problem, but in case anyone knows about the network problem (especially how to implement Roaming Aggressiveness in Linux), then I'll cover it on some separate post. Experts are encouraged to chime in :)

Methods:

A simple note that some of these methods might work in one distro, but not for the other ones. However, I'll only be stating the ones which worked for me in Fedora 41 & 42.

1) Disabling Power Management of your Wi-Fi device (Didn't work)

Restart your computer after that.

For me, it absolutely didn't work. The wlp1s0 network interface was disappearing as a whole.

2) Copying the firmware code from CodeLinaro (didn't work and not much recommended)

This one might not actually work because linux-firmware has already merged the last commit, so this might not be the fix.

You just need to ensure that there are contents within this hw1.0 directory, it's optional for the files to match.

Just so you know, it didn't work in this case.

3) Copying firmware files (didn't work but this can fix your issue)

Even this one didn't quite work. At first, it could resolve the network interface disappearance issue for some time. I even attended a class through Google Meet. But just after classes ended, I used Suspend/S3 Sleep. After wake, the Wi-Fi wasn't working at all, just like the previous solutions. On a different note, you guys can try this out if you can make a startup script with root access (but this might be tedious): https://github.com/pop-os/pop/issues/1470#issuecomment-2029119116

4) ath10k-custom.conf (hyphen) and ath10k_core.conf (underscore) (Read it carefully, skip_otp is an important aspect after all)

At first, I tried to create ath10k-custom.conf. That's what helped someone in the previous post. However, my problems were resolved ONLY after wrting ath10k_core.conf.

Just execute these commands ONCE and you'll be fine. Note that the following commands are case-sensitive.

Restart your PC after executing the first command, and after executing the second command (basically twice).

Conclusion

I have tried my best to propose all the solutions to this problem I could find, and now I'm tired. It's already 3:58 AM. To the firmware/NetworkManager experts, it'd be a pleasure for me to know how can roaming aggressiveness be increased. To the normal users, in case you find anything problematic, you can ask me in the comments.

That's it. Thanks a lot.