從休眠狀態恢復後,Wi-Fi 遺失。
既無法從 appindicator 開啟 wi-fi,也無法>設定>網路。
透過熱鍵(Fn+ F2)開啟/關閉也沒有用。
我必須暫停,然後從暫停狀態恢復,然後 Wi-Fi 再次工作。
我的平台:Ubuntu 14.04 LTS。
如何解決從休眠恢復後 Wi-Fi 仍然自然有效(無需幹預)的問題。
遵循 JWilliamson 的指示,之後
sudo gedit /etc/pm/power.d/wireless
,無線”文件不是空白,它顯示:
#!/bin/sh
# tlp - if tlp is enabled, override corresponding script
# in /usr/lib*/pm-utils/power.d/
CONFFILE=/etc/default/tlp LIBDIRS='/usr/lib /usr/lib64'
for d in ${LIBDIRS}; do
if [ -d "${d}/pm-utils/power.d" ]; then
blocked="${d}/pm-utils/power.d/${0##*/}"
break
fi done
if [ -n "$blocked" ] && [ -x "$blocked" ]; then
# else nothing to disable -> don't read $CONFFILE
if [ -e "$CONFFILE" ] && . "$CONFFILE" -- && [ "$TLP_ENABLE" = '1' ]; then
# TLP is enabled -> disable $blocked
echo "Notice: '${blocked}' disabled by TLP."
else
exec "$blocked" $*
fi fi
exit 0
答案1
打開終端機並輸入以下命令;我們需要查看該卡上是否啟用了電源管理。
iwconfig wlan0
透過運行此程式碼,我們應該會看到類似以下內容的輸出:
jayadmin@jayadmin-OptiPlex-GX280:~$ iwconfig wlan0
wlan0 IEEE 802.11bgn ESSID:"MU WiFi"
Mode:Managed Frequency:2.412 GHz Access Point: 18:33:9D:C6:76:72
Bit Rate=65 Mb/s Tx-Power=20 dBm
Retry long limit:7 RTS thr:off Fragment thr:off
Power Management:off
Link Quality=40/70 Signal level=-70 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:18 Invalid misc:80 Missed beacon:0
如果電源管理已打開,則執行以下命令(為此,您需要 SU 權限,因此需要“sudo”命令):
sudo iwconfig wlan0 power off
執行此命令後,您必須輸入密碼;如果沒有“sudo”,您可能沒有使用者權限來運行它。
為了使其永久化,您必須新增/建立一個系統文件,以防止 Ubuntu 在重新啟動後使用 PM。為此,請開啟終端機(如果您已將其關閉)並輸入以下命令:
sudo gedit /etc/pm/power.d/wireless
這將打開一個帶有空白文件的文字編輯器。將以下行插入文件中:
#!/bin/sh
/sbin/iwconfig wlan0 power off
現在,儲存檔案並關閉 gedit 和終端機視窗。即使重新啟動後也應停用 PM。
聽起來當您從休眠狀態回來時,Ubuntu 和您的特定卡在電源管理方面有問題。我的筆記型電腦也遇到了同樣的問題,禁用了 PM,問題就解決了。
我知道這不是您正在尋找的“自然工作”非命令行幹預,但它應該可以解決您的問題。有時您必須使用終端來解決奇怪的問題。
附加資訊
@常綠
無線文件中提到的 TLP 是 Ubuntu 中的進階電源管理實用程式。可能是您的無線網路卡無法正常運作的問題;您的 wifi 卡可能不完全相容。
在終端機中運行此程式碼(如果有效,這應該是一個永久修復):
sudo gedit /etc/default/tlp
在該文件中,搜尋這兩行。他們應該在一起:
WIFI_PWR_ON_AC=5
WIFI_PWR_ON_BAT=5
如果我沒記錯的話,請注意。1是殘障人士, 儘管5是已啟用。改變5在兩行中1然後保存檔案並exit
退出終端。
為了安全起見,請重新啟動電腦以確保變更在您的系統上生效。如果不替換這兩行,則您為更改 wifi PM 設定所做的任何其他操作都會被 TLP 腳本阻止。
我希望這有幫助。今晚剩下的時間我都不在我的 Ubuntu 盒子裡,所以如果這沒有幫助,那麼我下一次幫助解決這個問題的嘗試將被推遲幾個小時。您始終可以將 /etc/pm/power.d/wireless 中找到的文本完全替換為我第一個答案中的文本,但它將不會tlp
除非更改文件中的此設置,否則將起作用。
答案2
我也遇到了同樣的問題,終於找到了完整的解決方案,所以這裡是:
Ctrl按+ Alt+轉至終端T
開啟新檔案
.txt
以寫入新命令。99-
sudo nano /etc/pm/sleep.d/99_synclient`
將以下行貼到空白
.txt
文件中:#!/bin/bash case "$1" in suspend|hibernate) ;; resume|thaw) sudo -u <USERNAME> env DISPLAY=:0 service network-manager restart ;; *) exit $NA ;; esac
請將上面的內容替換為您的用戶名,不含 <>
使檔案可執行:
sudo chmod +x /etc/pm/sleep.d/99_synclient
如果您之前更改過名稱,請不要忘記更改。
你完成了!休眠後,您的 WiFi 現在應該可以正常工作。
答案3
我會跑
sudo service network-manager restart
sudo
使其成為超級用戶或 root,因此您可以運行它。service
運行腳本,刪除大多數環境變數並將目錄設定為/
.network-manager
告訴它我們想要的服務,並restart
停止和啟動該進程。