본문 바로가기
HW 프로그래밍/라즈베리파이

WiFi 설정하기

by N2info 2021. 2. 6.

Raspberry Pi 3에는 무선랜이 기본 탑재라서 WiFi 설정을 해 보았다. 설정 중에 겪은 몇 가지 문제점과 설정 방법을 여기서 다뤄보려고 한다.

무선랜 장치 조회

아래와 같이 iwconfig 명령을 실행해보면 기본 탑재된 무선랜 장치는 wlan0임을 알 수 있다.

pi@raspberrypi:/home $ iwconfig 
lo 			no wireless extensions. 
wlan0 		IEEE 802.11 ESSID:"shanpark" 
			Mode:Managed Frequency:2.447 GHz Access Point: 64:E5:99:A3:6F:2C 
            Bit Rate=72.2 Mb/s Tx-Power=31 dBm 
            Retry short limit:7 RTS thr:off Fragment thr:off 
            Power Management:on 
            Link Quality=68/70 Signal level=-42 dBm 
            Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0 
            Tx excessive retries:0 Invalid misc:0 Missed beacon:0 
eth0 no wireless extensions.

무선 네트워크 검색

 sudo iwlist wlan0 scan 명령을 실행하면 검색된 무선 네트워크 리스트가 여러 개 출력된다.

pi@raspberrypi:/home $ sudo iwlist wlan0 scan
wlan0     Scan completed :
          Cell 01 - Address: 64:E5:99:A3:6F:2C
                    Channel:8
                    Frequency:2.447 GHz (Channel 8)
                    Quality=70/70  Signal level=-40 dBm  
                    Encryption key:on
                    ESSID:"wlanessid"
                    Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 6 Mb/s
                              9 Mb/s; 12 Mb/s; 18 Mb/s
                    Bit Rates:24 Mb/s; 36 Mb/s; 48 Mb/s; 54 Mb/s
                    Mode:Master
                    Extra:tsf=0000000000000000
                    Extra: Last beacon: 30ms ago
                    IE: Unknown: 00087368616E7061726B
                    IE: Unknown: 010882848B960C121824
                    IE: Unknown: 030108
                    IE: Unknown: 2A0100
                    IE: Unknown: 32043048606C
                    IE: Unknown: 2D1A6E181EFFFF0000000000000000000000000000
                    IE: Unknown: 3D1608050000000000000000000000000
                    IE: IEEE 802.11i/WPA2 Version 1
                        Group Cipher : CCMP
                        Pairwise Ciphers (1) : CCMP
                        Authentication Suites (1) : PSK
                    IE: Unknown: DD180050F2020101800003A4000027A40062322F00
                    ...

출력된 여러 값들 중에 ESSID 값을 보면 자신이 연결할 무선 네트워크가 검색되는 지 확인할 수 있다. 여러 번 시도해보고 검색이 되지 않으면 연결이 안된다는 뜻이므로 검색이 되도록 무선 공유기를 확인해보거나 환경을 다시 한 번 체크할 필요가 있다.

 여기서 별 문제가 없더라도 검색이 안되는 문제의 원인으로 두 가지를 설명하고자 한다.

 첫 번째로 raspi-config를 실행해서 Localisation Options 메뉴에서 Wi-fi Country 설정을 하지 않도록 한다. 이것을 설정하지 않아도 아무 문제가 없는데 설정을 하면 무선 네트워크 검색이 되지 않는다. 하나도 검색이 안된다면 이 문제일 가능성이 있다. 만약 이 경우라면 /etc/wpa_supplicant/wpa_supplicant.conf 파일의 맨 첫 줄에 자신이 지정한 나라의 코드 값이 보일 것이다. 첫 줄을 삭제하고 리부팅 후 다시 검색을 시도해보면 검색 결과가 출력될 것이다.

 두 번째로 특정 무선 네트워크가 검색이 안된다면 그 무선 네트워크의 channel이 12 또는 13인지 확인해보자. R Pi의 펌웨어에 문제가 있어서 channel 12 또는 13으로 설정된 무선 네트워크는 검색이 되지 않는다. 자신의 무선 네트워크가 검색이 되지 않으면 channel 값이 1 ~ 11 인지 확인해보고 아니라면 1 ~ 11 사이의 값으로 설정하도록 한다.

무선 네트워크 설정 검색된 무선 네트워크 설정을 위한 설정값을 wpa_passphrase 명령으로 만든다. 아래 명령에서 wlanessid는 ESSID값을, password는 무선 네트워크의 패스워드를 넣고 명령을 실행하면된다.

pi@raspberrypi:/home $ wpa_passphrase wlanessid password
network={
 ssid="wlanessid"
 #psk="password"
 psk=8b784be81fb45f16ff506fde4013f50c018f832dec02810541d490aae9ab0b7a
}

 명령을 실행하고나서 화면에 출력되는 값, 즉 network={....}을 /etc/wpa_supplicant/wpa_supplicant.conf 파일의 끝에 넣어주면 설정은 끝이다. 여기서 #psk=xxxx 라인은 주석이므로 제거해도 된다. 비밀번호가 직접 보이는 건 보안상 좋지 않으므로 반드시 제거하는 걸 추천한다.

 참고로 최종 설정된 /etc/wpa_supplicant/wpa_supplicant.conf 파일의 내용을 보면 일반적으로 아래와 같다.

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

network={
 ssid="wlanessid"
 psk=8b784be81fb45f16ff506fde4013f50c018f832dec02810541d490aae9ab0b7a
}

무선 네트워크 연결 확인 대충 설정이 다 됐다면 속편하게 리부팅을 하고 터미널에서 ifconfig 명령을 실행해보자. 정상적으로 연결이 되었다면 wlan0 장치에 ip 주소가 설정되어있을 것이다.

pi@raspberrypi:/home $ ifconfig
eth0      ...

lo        ...

wlan0     Link encap:Ethernet  HWaddr b8:27:eb:ed:00:88  
          inet addr:192.168.0.33  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::dcce:1d4e:75e0:afb/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:9236 errors:0 dropped:0 overruns:0 frame:0
          TX packets:563 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:999226 (975.8 KiB)  TX bytes:44396 (43.3 KiB)

ip 주소가 할당되었다면 정상적으로 설정된 것이다. 이제 랜선을 뽑아도 된다.

 

고정 IP는 아래와 같이 하면 된다

sudo vi /etc/dhcpcd.conf 명령어로 /etc/dhcpcd.conf 파일을 열어줍니다.

맨 아래에

interface wlan0
static ip_address=" "
static routers=" "

를 입력해주시면 됩니다.

(wlan0: 무선, eth0: 유선)

 

ip_address에는 ifconfig에서 확인한 inet을,

routers에는 ip_address에서 마지막만 1로 바꿔서 입력해주시면 됩니다.

 

아래 명령어를 통해 networking service를 재시작해줍니다.

sudo /etc/init.d/networking restart

마지막으로 라즈베리파이를 재시작해줍니다!

 

 

출처 : progtrend.blogspot.com/2017/08/raspberry-pi-wifi.html