Step 3. Ubuntu Server Wifi - xuan103/class-2020-07 GitHub Wiki

Welcome to the wiki !

wifi


目錄


安裝必要套件

  • 更新套件

sudo apt update -y

  • 下載 wpasupplicant 套件

sudo apt install wpasupplicant

使用 WPA_Supplicant 設定 Wifi

使用 wpa_supplicant 設定 Wifi 連線

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev

update_config=1

ap_scan=1

fast_reauth=1

country=TW


network={
    ssid="輸入 Wifi 名稱" 
    psk="輸入 Wifi 密碼"
}

nanoadd

測試連線 Wifi

檢查無線網路卡名稱

ifconfig -a

wlx7cdd90ea4126: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500

ether 74:da:38:3b:ec:56  txqueuelen 1000  (Ethernet)
RX packets 0  bytes 0 (0.0 B)
RX errors 0  dropped 0  overruns 0  frame 0
TX packets 0  bytes 0 (0.0 B)
TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wlx7cdd90ea4126為無線網卡名稱

將原來讀取 wpa_supplicant.conf 的程序 wpa_supplicant 殺掉

sudo kill -9 $(ps -ef | grep wpa | awk '{print $2}')

重新執行 wpa_supplicant,並讀取 wpa_supplicant.conf 設定

sudo wpa_supplicant -B -i wlx7cdd90ea4126 -c /etc/wpa_supplicant/wpa_supplicant.conf

若回傳以下訊息,請忽略掉

rfkill: Cannot open RFKILL control device
ioctl[SIOCSIWAP]: Operation not permitted
ioctl[SIOCSIWENCODEEXT]: Invalid argument
ioctl[SIOCSIWENCODEEXT]: Invalid argument

使用設定檔測試無線網卡連線 Wifi (亂碼部分請改為無線網卡名稱)

sudo wpa_supplicant -u -s -c /etc/wpa_supplicant/wpa_supplicant.conf -i wlx7cdd90ea4126

執行 DHCP 用戶端,取得 IP

sudo dhclient

若回傳以下訊息,請忽略掉

RTNETLINK answers: File exists

查尋 IP 位址

ifconfig –a

使用 Systemd 設定開機自動連線 Wifi

  • sudo nano /etc/systemd/system/wpa_supplicant.service

wpa_supplicant

[Unit]
Description=WPA supplicant
Before=network.target
After=dbus.service
Wants=network.target
IgnoreOnIsolate=true

[Service]
Type=dbus
BusName=fi.w1.wpa_supplicant1
ExecStart=/sbin/wpa_supplicant -u -s -c /etc/wpa_supplicant/wpa_supplicant.conf -i  wlx7cdd90ea4126

[Install]
WantedBy=multi-user.target  
Alias=dbus-fi.w1.wpa_supplicant1.service
  • sudo nano /etc/systemd/system/dhclient.service

dhclient-service

[Unit]
Description= DHCP Client
Before=network.target
After=wpa_supplicant.service

[Service]
Type=simple
ExecStart=/sbin/dhclient wlx7cdd90ea4126

[Install]
WantedBy=multi-user.target
  • sudo systemctl enable dhclient.service

  • sudo reboot

參考文件

⚠️ **GitHub.com Fallback** ⚠️