樹莓派 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 就可正常運作。