[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)
- In your terminal, open this file
/etc/NetworkManager/conf.d/wifi-powersave.conf
using whatever editor you prefer. (Neovim or Nano or Emacs or whatever) -
If it isn't already written, write this down:
[connection] wifi.powersave=2
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.
-
At first, check if this is the file tree:
/lib/firmware/ath10k/QCA9377 ├── firmware-6.bin.xz └── hw1.0 ├── board-2.bin ├── board-2.bin.xz ├── board.bin ├── board.bin.xz ├── CNSS.TF.1.0 ├── firmware-5.bin.xz ├── firmware-6.bin.xz ├── firmware-sdio-5.bin.xz ├── notice_ath10k_firmware-5.txt.xz ├── notice_ath10k_firmware-6.txt.xz -> ../../QCA6174/hw3.0/notice_ath10k_firmware-6.txt.xz ├── notice_ath10k_firmware-sdio-5.txt.xz -> notice_ath10k_firmware-5.txt.xz ├── untested ├── WLAN.TF.1.0 └── WLAN.TF.2.1
You just need to ensure that there are contents within this hw1.0
directory, it's optional for the files to match.
- Go to this website: https://git.codelinaro.org/clo/ath-firmware/ath10k-firmware/-/tree/main/QCA9377
- Click on the Code icon in blue, then scroll down to "Download this directory". Under that section, you can download in any format.
- Download that archive, then extract it.
- Through your terminal, use
cd
to go to the folder where you have extracted it all. - Go to the directory/folder named
QCA9377
. Under that directory, there will only be one item calledhw1.0
. - While being under this
QCA9377
directory in the terminal, as a protective measure, writels /lib/firmware/ath10k/QCA9377/
. Check if there's onlyhw1.0
or not. - Press the up arrow, then replace that
ls
withsudo cp -rv *
. Then it becomessudo cp -rv * /lib/firmware/ath10k/QCA9377/
. - Press Enter. Wait for the files to go.
- Restart your computer.
Just so you know, it didn't work in this case.
3) Copying firmware files (didn't work but this can fix your issue)
- As usual, check what
ls /lib/firmware/ath10k/QCA9377/hw1.0/
leads to. What are the names of the firmware files? - I think you guys have seen it... the names are like firmware-6, firmware-5. Basically, the one with the highest number is the one being run.
- Suppose N is the highest number. Then, you will use
cd /lib/firmware/ath10k/QCA9377/hw1.0/
. - Notice the file you see resembling
firmware-N.whatever.extensions
. Copy it to the parent directory. In simpler terms:sudo cp -v firmware-N.whatever.extensions ..
- Restart your computer.
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.
- For ath10k-custom.conf:
echo -e "options ath10k_core skip_otp=y\noptions ath10k_core rawmode=0" | sudo tee -a /etc/modprobe.d/ath10k-custom.conf
- For ath10k_core.conf:
echo "options ath10k_core skip_otp=y" | sudo tee -a /etc/modprobe.d/ath10k_core.conf
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.
NoHuckleberry7406@reddit
Please please please. I want a solution for the network speed issue!!!! Please!! 🙏🏻🙏🏻My internet speed is capped at a very slow rate.
lonelyroom-eklaghor@reddit (OP)
Could you please share
inxi -FzG | nc termbin.com 9999
?NoHuckleberry7406@reddit
https://termbin.com/xbhr
lonelyroom-eklaghor@reddit (OP)
Did you try out all the methods?
NoHuckleberry7406@reddit
Yes. I tried all of them. I made a separate partition with a new install. I reinstalled each time! None of them worked. The speed gets capped at 3MB/s when at 2.4GHz band.
lonelyroom-eklaghor@reddit (OP)
Ok.
Does
wpa_cli
work in your PC?NoHuckleberry7406@reddit
What's that? Let's try.
NoHuckleberry7406@reddit
It says it couldn't connect to wpa_supplicant.
lonelyroom-eklaghor@reddit (OP)
I see... that's interesting... restart your pc, then try to use tge same command
NoHuckleberry7406@reddit
Still doesn't work. But what command do you want me to run?
Top-Exam3408@reddit
rawmode is not supported i tried frame_mode=0 and Unfortunately
frame_mode
is not a real injection toggle. It just controls how packets are handled internally. and now i am pissed off how company dont care bout the customerslonelyroom-eklaghor@reddit (OP)
And don't worry, I'll be active after this.
NoHuckleberry7406@reddit
Thanks.
NoHuckleberry7406@reddit
But I still didn't manage to fix the issue!
lonelyroom-eklaghor@reddit (OP)
No worries, at first, just check /var/log/syslog and find anythinfg resembling wpa_supplicant
NoHuckleberry7406@reddit
I tried cat /var/log/syslog but it says no file or directory
lonelyroom-eklaghor@reddit (OP)
have you tried ls instead of cat?
NoHuckleberry7406@reddit
No. Let's try.
lonelyroom-eklaghor@reddit (OP)
what do you see?
NoHuckleberry7406@reddit
Nothing!
NoHuckleberry7406@reddit
It's midnight here. I shall keep my phone and laptop away for loss of sleep is harmful.
lonelyroom-eklaghor@reddit (OP)
Ok, no worries :)
NoHuckleberry7406@reddit
Are you still active? Please help. Is there any solution for the slow speed issue? I don't want to buy a new wifi card.
lonelyroom-eklaghor@reddit (OP)
We need to check the wpa_supplicant logs
NoHuckleberry7406@reddit
Gotta try that but I am currently studying. I shall do it. One thing I have noticed. When I connect to a router with the 5GHz band, the speed increases to an acceptable level but the speed remains slow on 2.4GHz. Also, Speed remains slow when connected to mobile hotspot.
lonelyroom-eklaghor@reddit (OP)
I see... that's interesting
NoHuckleberry7406@reddit
One more thing I have noticed. When I connect to a router with 5 ghz band, my internet speed actually gets fixed.
lonelyroom-eklaghor@reddit (OP)
Ok that's quite interesting...
NoHuckleberry7406@reddit
I shall come back Tommorow.
lonelyroom-eklaghor@reddit (OP)
Ok :)
NoHuckleberry7406@reddit
Sorry for being late. Is there any update? I can't even buy a new wifi card. Not only are the wifi cards expensive, my laptop has only a single antenna. So even if I saved money, I wouldn't get a compatible wifi card.
lonelyroom-eklaghor@reddit (OP)
Ok, I wanna help you, but I really need to understand stuff about wpa_upplicant myself.
Will the 5 GHz network work for now? As I learn stuff about it, I'll eventually guide you through your solution
NoHuckleberry7406@reddit
The issue is that I use my laptop using my phone's hotspot most of the time. I don't understand what is the issue. Do you know a command to find out what is the exact model of my laptops wifi card? I know that it is from a brand named azurewave.
lonelyroom-eklaghor@reddit (OP)
Well, the inxi info you shared, conveys:
Your modprobe commands (involving wifi) will have ath10k_pci as the driver name
Your network interface (you have no ethernet) is wlo1
At that point, your wifi was working fine.
You can use
inxi -Nxxxz
for more useful details.NoHuckleberry7406@reddit
Network:
Device-1: Qualcomm Atheros QCA9377 802.11ac Wireless Network Adapter
vendor: AzureWave driver: ath10k_pci v: kernel pcie: speed: 2.5 GT/s
lanes: 1 bus-ID: 01:00.0 chip-ID: 168c:0042 class-ID: 0280
lonelyroom-eklaghor@reddit (OP)
I really wanna help you, but at this point, I don't even know where you should ask. You can try out r/linuxhardware, but that place is really barren.
NoHuckleberry7406@reddit
Ok.
NoHuckleberry7406@reddit
No
lonelyroom-eklaghor@reddit (OP)
I just wanted to check if your PC runs wpa_supplicant and NetworkManager. Both of them are there, but they are in a pretty bad state.
Could you please go to /var/log/syslog and find the file for wpa_supplicant?
NoHuckleberry7406@reddit
OK
lonelyroom-eklaghor@reddit (OP)
Plz respond
lonelyroom-eklaghor@reddit (OP)
I really wanna help you. Are you there?
NoHuckleberry7406@reddit
Yes. I didn't log in to reddit for two days because of school and tutions.
lonelyroom-eklaghor@reddit (OP)
Have you checked the DMs?
NoHuckleberry7406@reddit
How to check dms?
lonelyroom-eklaghor@reddit (OP)
Go to the "Chat" section below in the home screen of Reddit on Android or iOS, or in the PC version, find the speech bubble in the top right corner
lonelyroom-eklaghor@reddit (OP)
I'm replying to you, wait...
NoHuckleberry7406@reddit
Please reply.
lonelyroom-eklaghor@reddit (OP)
try the ath10k_core solution and let me know
NoHuckleberry7406@reddit
Tried. Doesn't work.
StrangeAstronomer@reddit
Don't let the curmudgeons get you down - you've made a great contribution. Upvoted.
But it deserves to be in a better and more permanent place than reddit. Might I suggest https://linux-hardware.org ? Or perhaps the gentoo/arch doco?
lonelyroom-eklaghor@reddit (OP)
Thanks a lot :)
I think I'll put them up on the Arch Wiki and on linux-hardware.org
Hot_Prompt_8814@reddit
Finally managed to get it working.
Aspire E5-553G
QCA9377
Using the default driver and firmware, Ubuntu 25.04.
From my iPhone I get 600mpbs but from laptop barely 2 mbps.
The skip_otp option helped slightly got like 5 mbps now, sometimes up to 10, but connection still stalls and unreliable.
Decided to check all available options for the ath10k_core and ath10k_pci using modinfo.
Decided on this ath10k.conf (You can have any name it does not matter):
options ath10k_core debug_mask=0 coredump_mask=0 cryptmode=0 frame_mode=1 fw_diag_log=0 skip_otp=0 uart_print=0
options ath10k_pci irq_mode=2 reset_mode=1
Now latency much better and getting speeds up to 15-20mpbs.
Still too slow, double checked wpa_cli status, key_mgmt=SAE??
This old QCA9377 supports wpa3?!!
Disabled wpa3 and switched to wpa2 from router settings. Now key_mgmt=WPA2-PSK.
visit fast.com, , boom 300mbps.
Could not force wpa2 from client side it was as if client side settings key-mgmt settings are not respected and AP auto negotiates with the client.
lonelyroom-eklaghor@reddit (OP)
PERFECT, actually, in my case, IRQ #16 was the one being continually disabled.
You have successfully done it lad😎
Hot_Prompt_8814@reddit
I wanted to maintain mixed WPA2/3 mode from the router
I could not force my laptop to use WPA2 via network manager so I compiled and installed wpa_supplicant without WPA3 support to force it.
But surprisingly speed is still significantly slower, 20 vs 300 mbps, than setting to WPA2 only on the routers side.
Apparently the the main problem is PMF, which according to the routers docs gets force enabled in mixed mode.
Decided to keep WPA2 only for now. Probably try and find a better wifi card.
NemesisDVZ@reddit
Method #5
Simple blacklist the piece of shit of ath10k module...
In /etc/modprobe.d create a file with name bullshit-qualcomm-scumbag-blacklist.conf and add the following line
blacklist ath10k
Save and reboot and let the kernel use a module that simple works.
:)
Dr0zD@reddit
Sorry, but what is the problem and the solution? I see many things you did but nothing to point the core of the issue and solution to it. Aren't there logs in wpa_supplicant or iwd? Last time I had wifi issue it was bug in wpa_supplicant - nothing to do with the firmware. So, next time, instead of shooting things and watching what stick, try to identify the problem first and then find/apply solution - it is much easier this way.
lonelyroom-eklaghor@reddit (OP)
The problem is that the network interface literally disappears a few minutes after turning on the Wi-Fi. Mouse hiccups can be seen.
The solutions can depend upon the distro, but I've tried to provide what I could.
Wpa_supplicant syslogs are useful, I checked them previously when I had the same issue in Linux Mint Cinnamon.
Thanks a lot :)
I'm having a similar issue with color profiles in GNOME and knowing how to check the systemd logs of colord helped me a lot
Dr0zD@reddit
There is no way mouse hiccups are related to WiFi issues, unless you have actual hardware problem. Sounds more like an issue with shielding or something not properly grounded or screwing up the bus, otherwise you should see shitton of errors in system logs.
lonelyroom-eklaghor@reddit (OP)
I really don't know what happened, but both my wireless mouse and touchpad were affected by this thing. I couldn't use the touchpad at all, but I can use the wireless mouse (I just have to connect a small USB thingy to the laptop which isn't connected by wires and the mouse works). Even then, both of them go through the same hiccups, and it's only a mouse issue.
BinkReddit@reddit
Thank you for taking the time to put all your efforts in a single post. Unfortunately, Qualcomm doesn't give a shit and we're all reminded of this year after year. I have an ath11k card and it still doesn't work right and I've owned this machine for over a year now.
Qualcomm doesn't care. This should be a hash tag.
chic_luke@reddit
I have returned a ThinkPad with a soldered Qualcomm card over this. I can confirm. Sadly, because their hardware is the best.
lonelyroom-eklaghor@reddit (OP)
Idk if we can do anything about Qualcomm, but thanks tbh :)
MatchingTurret@reddit
Another AI generated essay. 😕
lonelyroom-eklaghor@reddit (OP)
Are you really sure?
Even QuillBot is saying that 0% of this text is AI.
I have really really poured my soul into this post.
MatchingTurret@reddit
People on social media usually don't write structured that way. And it's better suited for r/linuxhardware, if you actually wrote it up.
TheHardew@reddit
Let me reply in a manner you would understand then:
The brainrrrrroooottt!
The brainrrrrroooottt Israel!
Can we get much higher?
So hiiigghh.
https://www.reddit.com/r/CockPiece/comments/wxkm2j
wademealing@reddit
I half expected to see teh right hand side of the screen have someone cutting through brightly colored squishable materials.
lonelyroom-eklaghor@reddit (OP)
I'll post the same on r/linuxhardware too
Nemecyst@reddit
No, OP is simply not a native english speaker. Judging from his posts on indian subreddits, he's probably indian.
SweetBearCub@reddit
Or it could be an actual person doggedly trying to solve issues with their OS of choice, hoping that their documentation saves people many hours of frustration.
But I suppose it's just easier to call people AI, disregard what they're trying to help people with, and be an asshole. Which seems on brand for you!
Good-Stock-8470@reddit
I told you it will work lol
lonelyroom-eklaghor@reddit (OP)
It did work :)
Thanks a lot for supporting
Good-Stock-8470@reddit
Did you find out what exactly made it work?
lonelyroom-eklaghor@reddit (OP)
Yeah, it's actually the ath10k_core.conf file which did the magic
Yrvyne@reddit
Excellent work.
Thank you for the time you consumed to offer us these solutions.
lonelyroom-eklaghor@reddit (OP)
You're welcome :)))