暂停前手动禁用 Wifi

暂停前手动禁用 Wifi

我正在运行带有 Gnome 的 Ubuntu 18.10 - Suspend to Ram 不起作用。我的系统日志告诉我wpa_请求者拒绝冻结。我已经尝试了几个修复方法,但都没有奏效。它们大多数是不同的变体。我还尝试使用不同的固件版本这里。虽然这有点夸张,因为 wifi 工作正常,我的想法是在点击暂停按钮时运行一个脚本,在实际暂停操作发生之前关闭 wifi。

如果我在挂起之前手动禁用 wifi,挂起至 Ram 功能就会起作用。有没有办法自动执行此操作?

无线芯片组:

description: Wireless interface
       product: QCA6174 802.11ac Wireless Network Adapter
       vendor: Qualcomm Atheros
       physical id: 0
       bus info: pci@0000:04:00.0
       logical name: wlp4s0
       version: 20
       serial: c0:38:96:2f:a8:1f
       width: 64 bits
       clock: 33MHz
       capabilities: bus_master cap_list ethernet physical wireless
       configuration: broadcast=yes driver=ath10k_pci driverversion=4.18.0-13-generic firmware=SW_RM.1.1.1-00157-QCARMSWPZ-1

更新#1:正如@GAD3R指出的那样,/lib/systemd/system-sleep 中的一个脚本可以解决这个问题。但是它似乎不起作用。我创建了脚本

基尔帕

/lib/systemd/系统睡眠

并使其可执行使用

sudo chmod + x

我仍然无法使用 Wifi 暂停,这是我的输出系统日志

Freezing user space processes ... 
Freezing of tasks failed after 20.002 seconds (9 tasks refusing to freeze, wq_busy=0):
wpa_supplicant  D    0  1013      1 0x00000004

更新 2:我修改了脚本以使用modprobe网络管理器卸载驱动程序并停止它 - 但仍然冻结。

脚本:

 #!/bin/bash
if [ "${1}" == "pre" ]; then

modprobe -rv ath10k_pci
systemctl stop NetworkManager.service 

elif [ "${1}" == "post" ]; then

modprobe -v  ath10k_pci
systemctl start NetworkManager.service

fi

系统日志输出:

Feb  1 09:13:25 aaron-GACK kernel: [ 1350.265251] Freezing user space processes ... 
Feb  1 09:13:25 aaron-GACK kernel: [ 1370.272019] Freezing of tasks failed after 20.006 seconds (3 tasks refusing to freeze, wq_busy=0):
Feb  1 09:13:25 aaron-GACK kernel: [ 1370.274617] wpa_supplicant  D    0  1036      1 0x00000004

更新 3: 我尝试简化它并使用单个脚本来卸载驱动程序并杀死 wpa,正如 GAD3R 所建议的那样:

!/bin/bash
if [ "${1}" == "pre" ]; then
modprobe -rv ath10k_pci
/usr/bin/pkill wpa_supplicant
fi

天哪--它成功了!暂停后恢复,Wifi 也恢复正常。

更新 4: 没关系。成功尝试后再次尝试暂停...然后再次冻结。 系统日志:

Feb  1 09:27:30 aaron-GACK kernel: [  421.558759] Freezing user space processes ... 
Feb  1 09:27:30 aaron-GACK kernel: [  441.561752] Freezing of tasks failed after 20.002 seconds (10 tasks refusing to freeze, wq_busy=0):
Feb  1 09:27:30 aaron-GACK kernel: [  441.564343] wpa_supplicant  D    0  1082      1 0x00000004

答案1

我想在暂停之前做同样的事情,并尝试了您的脚本,两种形式。 Syslog 显示格式错误,脚本失败。 systemd 对脚本格式很挑剔吗?

这对我有用,经过手动测试,只需卸载驱动程序就可以成功暂停。

!/bin/sh
case $1/$2 in
pre/*)
modprobe -rv ath10k_pci
;;
post/*)
modprobe -v  ath10k_pci
;;
esac

相关内容