2017년 8월 14일 월요일

Raspberry Pi WiFi 설정하기

 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 주소가 할당되었다면 정상적으로 설정된 것이다. 이제 랜선을 뽑아도 된다.



0 개의 댓글:

댓글 쓰기