이전에 라즈베리 파이에 네트워크 설정하는 방법을 정리했습니다 (아래 링크 참조).
2020/03/23 - [컴퓨터/Embedded] - Raspberry pi에 Ubuntu 설치 및 Wi-Fi 설정하기
위 방법대로 Wi-Fi를 설정한 이후, Wi-Fi 연결이 되지 않는 경우 해결하는 방법입니다.
- 라즈베리 파이 4에서 확인되었지만, 라즈베리파이 2, 3에서도 발생할것이라 생각됩니다.
- 이더넷 연결 (유선 인터넷) 연결 필요.
1. Wi-Fi 전용 Backend로 NetworkManager 사용하기
- netplan은 기본값으로 systemd-networkd를 사용합니다.
- 하지만, netplan을 이용해서 Wi-Fi를 설정하는 경우 networkd가 아닌 NetworkManager를 사용하게 됩니다.
- Raspberry Pi에 설치한 Ubuntu에는 NetworkManager가 설치되어 있지 않습니다.
- 그래서 아래와 같은 추가적인 작업이 필요합니다.
1-1. NetworkManager 설치하기
- Root 권한으로 실행
root@ubuntu:/home/ubuntu# apt install network-manager
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
crda iputils-arping iw libbluetooth3 libgudev-1.0-0 libjansson4 libmbim-glib4 libmbim-proxy libmm-glib0 libndp0 libnm0
libqmi-glib5 libqmi-proxy libteamdctl0 modemmanager network-manager-pptp ppp pptp-linux usb-modeswitch
usb-modeswitch-data wireless-regdb
Suggested packages:
avahi-autoipd libteam-utils comgt wvdial
The following NEW packages will be installed:
crda iputils-arping iw libbluetooth3 libgudev-1.0-0 libjansson4 libmbim-glib4 libmbim-proxy libmm-glib0 libndp0 libnm0
libqmi-glib5 libqmi-proxy libteamdctl0 modemmanager network-manager network-manager-pptp ppp pptp-linux usb-modeswitch
usb-modeswitch-data wireless-regdb
0 upgraded, 22 newly installed, 0 to remove and 29 not upgraded.
Need to get 3461 kB of archives.
After this operation, 15.9 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://ports.ubuntu.com/ubuntu-ports bionic-updates/main arm64 wireless-regdb all 2018.05.09-0ubuntu1~18.04.1 [11.1 kB]
Get:2 http://ports.ubuntu.com/ubuntu-ports bionic/main arm64 iw arm64 4.14-0.1 [67.7 kB]
...
Processing triggers for systemd (237-3ubuntu10.33) ...
Processing triggers for man-db (2.8.3-2ubuntu0.1) ...
Processing triggers for dbus (1.12.2-1ubuntu1.1) ...
Processing triggers for ureadahead (0.100.0-21) ...
ureadahead will be reprofiled on next reboot
Processing triggers for libc-bin (2.27-3ubuntu1) ...
root@ubuntu:/home/ubuntu#
1-2. netplan 설정파일 확인하기(*.yaml)
- Root 권한으로 실행
root@ubuntu:/home/ubuntu# cd /etc/netplan/
root@ubuntu:/etc/netplan# ls -l
total 4
-rw-r--r-- 1 root root 593 Mar 23 09:58 50-cloud-init.yaml
root@ubuntu:/etc/netplan# vim 50-cloud-init.yaml
1-3. *.yaml 파일 설정 변경하기
- 이전 설정파일에 아래 설정을 추가합니다.
- wlan0 하위에 renderer: NetworkManager 추가
- Root 권한으로 실행
...
network:
ethernets:
eth0:
dhcp4: true
optional: true
wifis:
wlan0:
renderer: NetworkManager
dhcp4: true
optional: true
access-points:
"SSID":
password: "PASSWORD"
version: 2
...
1-4. netplan 설정 적용하기
root@ubuntu:/etc/netplan# netplan generate
root@ubuntu:/etc/netplan# netplan apply
root@ubuntu:/etc/netplan#
2. Wi-Fi 국가 설정이 다른 경우
- 국내 유통되는 대부분 공유기는 Wi-Fi 국가가 한국으로 설정되어있습니다.
- 국가별로 Wi-Fi에 사용되는 무선 주파수 대역 및 주파수 별 세부 요구사항이 달라 올바른 설정이 필요합니다. (일부 채널은 전 세계 공통)
2-1. Wi-Fi 공유기의 지역 설정 확인하기
- 아래 그림처럼 iptime의 5Ghz에 설정되어있는 지역은 대한민국입니다.
2-2. Raspberry pi에 Wi-Fi 관련 명령을 적용하기 위한 iw 패키지 설치 (NetworkManager가 설치되어있다면 같이 설치되어 있으므로, 이 단계는 넘어갑니다.)
- Root 권한으로 실행
root@ubuntu:/home/ubuntu# apt install iw
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following package was automatically installed and is no longer required:
libiw30
Use 'sudo apt autoremove' to remove it.
The following additional packages will be installed:
crda wireless-regdb
The following NEW packages will be installed:
crda iw wireless-regdb
0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded.
Need to get 141 kB of archives.
After this operation, 521 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://ports.ubuntu.com/ubuntu-ports bionic-updates/main arm64 wireless-regdb all 2018.05.09-0ubuntu1~18.04.1 [11.1 kB]
Get:2 http://ports.ubuntu.com/ubuntu-ports bionic/main arm64 iw arm64 4.14-0.1 [67.7 kB]
Get:3 http://ports.ubuntu.com/ubuntu-ports bionic/main arm64 crda arm64 3.18-1build1 [62.7 kB]
Fetched 141 kB in 1s (104 kB/s)
Selecting previously unselected package wireless-regdb.
(Reading database ... 96409 files and directories currently installed.)
Preparing to unpack .../wireless-regdb_2018.05.09-0ubuntu1~18.04.1_all.deb ...
Unpacking wireless-regdb (2018.05.09-0ubuntu1~18.04.1) ...
Selecting previously unselected package iw.
Preparing to unpack .../archives/iw_4.14-0.1_arm64.deb ...
Unpacking iw (4.14-0.1) ...
Selecting previously unselected package crda.
Preparing to unpack .../crda_3.18-1build1_arm64.deb ...
Unpacking crda (3.18-1build1) ...
Setting up wireless-regdb (2018.05.09-0ubuntu1~18.04.1) ...
Setting up iw (4.14-0.1) ...
Setting up crda (3.18-1build1) ...
Processing triggers for man-db (2.8.3-2ubuntu0.1) ...
root@ubuntu:/home/ubuntu#
2-3. Raspberry pi에 현재 설정된 Wi-Fi 국가 확인하기
- 아래 블록을 확인해보면 Country가 설정되어있지 않습니다.
root@ubuntu:/etc/netplan# iw reg get
global
country 00: DFS-UNSET
(2402 - 2472 @ 40), (6, 20), (N/A)
(2457 - 2482 @ 20), (6, 20), (N/A), AUTO-BW, PASSIVE-SCAN
(2474 - 2494 @ 20), (6, 20), (N/A), NO-OFDM, PASSIVE-SCAN
(5170 - 5250 @ 80), (6, 20), (N/A), AUTO-BW, PASSIVE-SCAN
(5250 - 5330 @ 80), (6, 20), (0 ms), DFS, AUTO-BW, PASSIVE-SCAN
(5490 - 5730 @ 160), (6, 20), (0 ms), DFS, PASSIVE-SCAN
(5735 - 5835 @ 80), (6, 20), (N/A), PASSIVE-SCAN
(57240 - 63720 @ 2160), (N/A, 0), (N/A)
root@ubuntu:/etc/netplan#
2-4. Raspberry pi에 Wi-Fi 국가를 한국으로 변경하기
- Root 권한으로 실행
root@ubuntu:/etc/netplan# iw reg set KR
root@ubuntu:/etc/netplan# iw reg get
global
country KR: DFS-JP
(2402 - 2482 @ 40), (N/A, 13), (N/A)
(5170 - 5250 @ 80), (N/A, 20), (N/A), AUTO-BW
(5250 - 5330 @ 80), (N/A, 20), (0 ms), DFS, AUTO-BW
(5490 - 5710 @ 160), (N/A, 30), (0 ms), DFS
(5735 - 5835 @ 80), (N/A, 30), (N/A)
(57000 - 66000 @ 2160), (N/A, 43), (N/A)
root@ubuntu:/etc/netplan#
2-5. netplan 설정 적용하기 (1-3번 설정파일 이용)
- Root 권한으로 실행
root@ubuntu:/etc/netplan# netplan generate
root@ubuntu:/etc/netplan# netplan apply
root@ubuntu:/etc/netplan#
2-6. Wi-Fi 연결 확인
root@ubuntu:/etc/netplan# ifconfig wlan0
wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.0.37 netmask 255.255.255.0 broadcast 192.168.0.255
inet6 fe80::dea6:32ff:fe70:f9dd prefixlen 64 scopeid 0x20<link>
ether dc:a6:32:70:f9:dd txqueuelen 1000 (Ethernet)
RX packets 20 bytes 4966 (4.9 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 145 bytes 29046 (29.0 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
root@ubuntu:/etc/netplan#
3. Wi-Fi 국가 코드 영구설정
- 2번 방법은, Raspberry pi 전원을 킬 때마다 Wi-Fi 국가 설정이 초기화되어 수동으로 설정을 해 줘야 합니다.
3-1. vim으로 /etc/default/crda 파일 변경
- Root 권한으로 실행
root@ubuntu:/home/ubuntu# vim /etc/default/crda
3-2. /etc/default/crda 파일 내용을 아래처럼 수정
...
REGDOMAIN=KR
...
3-3. 재부팅
root@ubuntu:/home/ubuntu# reboot
3-4. Wi-Fi 연결 확인
ubuntu@ubuntu:~$ ifconfig wlan0
wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.0.37 netmask 255.255.255.0 broadcast 192.168.0.255
inet6 fe80::dea6:32ff:fe70:f9dd prefixlen 64 scopeid 0x20<link>
ether dc:a6:32:70:f9:dd txqueuelen 1000 (Ethernet)
RX packets 7 bytes 2100 (2.1 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 14 bytes 2064 (2.0 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ubuntu@ubuntu:~$
'컴퓨터 > Linux' 카테고리의 다른 글
Raspberry pi에 Ubuntu 설치 및 기본 설정하기 (Wi-Fi, 시간대 등) (0) | 2020.03.23 |
---|