You are not logged in.

#1 2021-10-07 15:17:41

GrzegorzKozub
Member
Registered: 2021-09-19
Posts: 6

AX500-DBS not working after resuming from hibernation on kernel 5.14.9

[https://wiki.archlinux.org/title/Dell_X … 310)#AX500] say that AX500 is stable and since kernel 5.14 suspend and resume works correctly.

[https://bbs.archlinux.org/viewtopic.php?id=265786] reports a similar issue and states it was solved with 5.12 which I don't think is correct.

I'm on kernel 5.14.9 and for me the card still does not work when I resume from hibernation. I followed all BIOS tips from the wiki page and I'm pretty sure my hibernation is configured correctly.

Any ideas?

Offline

#2 2021-11-12 20:52:23

Asriel
Member
Registered: 2016-11-28
Posts: 43

Re: AX500-DBS not working after resuming from hibernation on kernel 5.14.9

I had the same issue. Also there is an issue with ath11k driver that prevents the CPU to go to lower PC states when connected, actually it will never go below PC3. All this can be fixed, but not in mainline.

For power states Kalle Valo had recenty landed patches in ath-next development tree, so if you need to have power saving states - you need to backport ath-next into your kernel. Or - wait for 5.16 where it should be in place already.

For the unloading/loading back ath11k module before and after hibernation the issue is depending on firmware. The firmware in linux tree is 13month old buggy crap.  So the only way is - download Dell driver and unpack it. Command "driver_executable /s /drivers=folder_name" in wine or use WIndows PC. Then  in unpaked directory you go to Production/Windows10-x64/0/Drivers/WLAN folder and copy wlanfw20.mbn over your amss.bin file in /lib/firmware/ath11k/QCA6390/hw2.0. This will give you fresh and dell approved firmware.

Now the service files from Wiki  need to be modified  - unloading and loading back modules need to be done only when you hibernate. Do not unload if you suspend - then you have chance 50-50 to resume or dedly hang the module so it will never reload until you reboot. If you unload- hibernate -resume-load with a new dell firmware it will recover. ALso you will need to unload - reload bluetooth drivers, they will not resume ( hci_uart and btqca).

As a bonus with a new Dell firmware I have a nice network performance boost.

Offline

#3 2021-12-02 13:51:53

SheepOnMeth
Member
Registered: 2014-04-03
Posts: 38

Re: AX500-DBS not working after resuming from hibernation on kernel 5.14.9

Hi,

Just to confirm the post from Asriel. I manually update the firmware (md5sum: 2d8bc2714863f733cc8c1cbdffa75f09). I wrote two services for taking care of the unloading and loading of the module pre- and post-hibernation.
It works quite well.

/etc/systemd/system/bt-wifi-hibernate.service

[Unit]
Description=Hibernate: unload wifi and bt
Before=hibernate.target

[Service]
Type=simple
ExecStartPre=/usr/bin/rmmod ath11k_pci
ExecStartPre=/usr/bin/rmmod hci_uart
ExecStart=/usr/bin/rmmod btqca
[Install]
WantedBy=hibernate.target

/etc/systemd/system/bt-wifi-resume.service


[Unit]
Description=Hibernate: load wifi and bt
After=hibernate.target

[Service]
Type=simple
ExecStartPre=/usr/bin/modprobe ath11k_pci
ExecStartPre=/usr/bin/modprobe hci_uart
ExecStart=/usr/bin/modprobe btqca
[Install]
WantedBy=hibernate.target

Offline

Board footer

Powered by FluxBB