從休眠狀態恢復後 Wifi 遺失

從休眠狀態恢復後 Wifi 遺失

從休眠狀態恢復後,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

我也遇到了同樣的問題,終於找到了完整的解決方案,所以這裡是:

  1. Ctrl按+ Alt+轉至終端T

  2. 開啟新檔案.txt以寫入新命令。99-

    sudo nano /etc/pm/sleep.d/99_synclient` 
    
  3. 將以下行貼到空白.txt文件中:

    #!/bin/bash
    
    case "$1" in
      suspend|hibernate)
      ;;
    
      resume|thaw)
        sudo -u <USERNAME> env DISPLAY=:0 service network-manager restart 
      ;;
      *) 
        exit $NA
      ;;  
    esac
    

    請將上面的內容替換為您的用戶名,不含 <>

  4. 使檔案可執行:

    sudo chmod +x /etc/pm/sleep.d/99_synclient
    

    如果您之前更改過名稱,請不要忘記更改。

你完成了!休眠後,您的 WiFi 現在應該可以正常工作。

答案3

我會跑

sudo service network-manager restart

sudo使其成為超級用戶或 root,因此您可以運行它。service運行腳本,刪除大多數環境變數並將目錄設定為/.network-manager告訴它我們想要的服務,並restart停止和啟動該進程。

相關內容