樹莓派 4 上市後,Raspbian 也升級到 Buster,現在官網也直接將作業系統叫做 Pi OS,

我個人一直都是手動派的,所以當作業系統首次安裝,我都是直些將自動升級及設定功能跳過,

一切都用手動來升級與設定作業系統。

 

     這樣的作法,在 Pi 3 的時候絕對沒有問題,但在 Pi 4 (Buster)上,問題就出現了,

主要是 WiFi 會有些問題,下面進行說明:

 

    以下對 Raspberry Pi Stretch 之後版本含 Upgrade 後 WiFi 固定 IP 設定方法。

 Raspbian 在 Buster 之前的版本,網路的設定很簡單,只要針對 /etc/network/interfaces 檔案進行設定即可,

但在 Buster 發行後,含 Buster 之前的版本被 Upgrade 後,/etc/network/interfaces 只能針對 eth0 及 WiFi DHCP 進行設定,

若想使用 WiFi 固定 IP,interfaces 檔案就無法成功完成設定了。

 

    這問題讓我很納悶!我一直以為這是 Buster 的 Bug!但等了幾次的更新,發現問題都一直存在,

顯然的,這並不是 Bug,一定是設定方式改變了,上網搜尋很久,包括官網都沒有明確的資訊!直到最近,

終於找到一些有用的資訊,幾經嘗試,終於試出了一個正確的方法,這方法說明如下:

 

1. 使用  wpa_supplicant.conf 檔設定 WiFi AP 資訊

在 /etc/wpa_supplicant/目錄下,編輯 wpa_supplicant.conf 檔 (sudo vim wpa_supplicant.conf)。

編輯如下圖:

YOUR_AP_NAME :你的 WiFi AP SSID。

PASSWORD:AP 連線的 Password。

home_wifi:Key Word,可自行命名,在後面的 Interfaces 會用到。

編輯好後請存檔。

 

2. 編輯 /etc/network/interfaces 檔案

在 /etc/network/ 目錄下,編輯 interfaces 檔 (sudo vim interfaces)。

編輯如下圖:

編輯完成後,儲存並離開。

3.  編輯 dhcpcd.conf

在 /etc/ 目錄下編輯 dhcpcd.conf 檔案 (sudo vim dhcpcd.conf)。

在檔案的最後面,增加編輯如下圖:

 

經過上述設定,然後系統重新啟動後,就可透過 WiFi 取得固定 IP Address。

 

     若將過上面的設定後 ifconfig 發現 wlan0 並沒有被啟動,那就可能是 wlan0 被軟體鎖定了,

當嘗試:

sudo ifconfig wlan0 up

手動啟動 wlan0 時,卻得到下列回應:

SIOCSIFFLAGS: Operation not possible due to RF-kill

 

請用下列指令檢查:

sudo rfkill list

請注意看 Wireless 的部分:

0:phy0:Wireless LAN
            Soft blocked: yes
            Hard blocked: no

 

Soft blocked 為 Yes,就是被作業系統軟鎖定,所以無法啟動,要解開這個鎖定,用下列指令:

rfkill unblock wifi

 

執行完再檢查一次:

sudo rfkkill list

0:phy0:Wireless LAN
            Soft blocked: no
            Hard blocked: no

就可變成 Soft blocked : no,軟體鎖定就解開了,reboot 一次,wlan0 就可正常運作。