본문 바로가기

programmer/DIY

라즈베리파이2 무선랜 설정, 연결하기

라즈베리파이2 무선랜 설정, 연결하기




안녕하세요. 방금 wifi 동글이 도착해서 드디어 라즈베리파이2에서 무선랜을 연결해볼 수 있게 되었습니다. 무선랜만 설정하고 연결에 성공하면 무선으로 노트북과 연결될 수 있습니다. 물론 파워는 노트북에 꼽혀있습니다. ㅎㅎ 하지만 드론에 라즈베리파이2가 올라갈 경우 배터리를 이용해야겠죠!


이제 무선랜을 설정해보도록 하겠습니다. 금방 할 줄 알았는데 거의 4시간동안 해결을 못하다가 성공했습니다. 여러분들은 시작하기 전에 환경을 잘 갖추고 시작하세요. 우선 공유기가 좀 멀리 있다면 모바일 핫스팟으로 먼저 연습하시면 됩니다. 라즈베리파이 옆에 핫스팟을 킨 휴대폰을 두고 시작하시고, 성공하면 그대로 공유기에 적용하시면 됩니다. 또한 유선 랜을 꼽고 원격 접속한 상태로 하지마시고 라즈베리파이에는 wifi 동글만 연결하고 다른 랜 선은 연결하지 마세요. 번거롭더라도 라즈베리파이에 HDMI 케이블로 모니터 연결하고 마우스, 키보드 연결해서 직접 조작하시기 바랍니다.


저는 제가 하고 싶은대로 되겠지 하고 하다가 시간을 많이 낭비했네요. 여러분들은 최적의 조건에서 성공하셔서 시행착오를 줄이시기 발바니다.



$ lsusb



먼저 위와 같이 명령어를 입력합니다. 그러면 라즈베리파이에 연결되어 있는 장치들이 행마다 나옵니다. 목록들 중에서 Realtek Semiconductor Corp ~ 이라고 시작하는 것이 있을텐데요. Realtek은 랜카드 제조 전문 업체입니다. 즉, 저 장치가 무선랜이라는 것이고 일단 목록에 나타난다는 것은 USB에 잘 연결이 되어있다는 말입니다. 대부분 Realtek인데 혹시나 다른 제품이라도 검색하면 금방 찾아볼 수 있을 것입니다.



$ lsmod



이제 위의 명령어를 입력합니다.



Module                  Size  Used by
i2c_dev                 4562  0
snd_bcm2835            12859  0
snd_pcm                60411  1 snd_bcm2835
snd_seq                44988  0
snd_timer              16257  2 snd_pcm,snd_seq
snd_seq_device          4265  1 snd_seq
snd                    41809  5 snd_bcm2835,snd_timer,snd_pcm,snd_seq,snd_seq_device
snd_page_alloc          3176  1 snd_pcm
spidev                  4259  0
8192cu                458649  0
leds_gpio               1920  0
led_class               2329  1 leds_gpio
spi_bcm2708             3974  0
i2c_bcm2708             3108  0



입력하면 위와 같은 목록들이 나옵니다. 여기서 무선랜카드 드라이버가 깔려있는지 확인해야 하는데 일반적인 경우라면 깔려있을 것입니다! 위의 목록에서는 8192cu가 드라이브이며 저 같은 경우는 r8188eu가 드라이버였습니다. 이름이 수상한 것을 찾아서 구글에 검색해보시면 금방 찾으실 수 있습니다.
만약 드라이버가 안깔려 있다면 우선 다음단계로 넘어가보시고, 막힌다면 구글에 raspberry pi와 함께 모델명을 검색해서 정보를 찾아보셔야 합니다.




여기까지 문제없이 왔다면 고지가 멀지 않았습니다.

$ iwconfig



위의 명령어를 입력했을 때, wlan0 ~ 으로 시작하는 것이 있으면 무선랜카드가 라즈베리파이에 제대로 인식이 되어 있는 것입니다.



$ sudo iwlist wlan0 scan



이제 위의 명령어를 입력하면 무선랜을 통해 잡히는 와이파이 신호들의 목록이 나타납니다. 각 Cell 마다 항목을 보시면 ESSID = “공유기이름” <-이게 보일텐데요. 자기가 원하는 wifi 신호의 ESSID를 기억해둡시다. 저는 예를 들어서 모바일 핫스팟이라면 ESSID=”mHotspot”이라고 나와있습니다.



$ sudo wpa_passphrase "SSID_NAME" SSID_PASSWORD >> /etc/wpa_supplicant/wpa_supplicant.conf



예를 들어서, SSID_NAME에는 mHotspot을 입력하시면 됩니다.
그러면 /etc/wpa_supplicant/wpa_supplicant.conf 여기에 우리가 입력한 정보가 씌워집니다.



$ sudo nano /etc/wpa_supplicant/wpa_supplicant.conf


network={
ssid="mHotspot"
#psk="SSID_PASSWORD"
psk=xxxxxxxxxxxxxxxxxxxxxxxxx
}



명령어를 입력하시면 위와같은 형식이 보이실텐데요. 위의 형식을 아래와 처럼 바꿉니다. SSID_PASSWORD는 자신의 wifi 접속하기 위한 비밀번호를 입력하시면 됩니다.

network={
ssid="mHotspot"
psk="123456"
key_mgmt=WPA-PSK
}





이제 무선랜을 재시작 해야합니다.

$ sudo ifdown wlan0
$ sudo ifup wlan0



위의 과정이 잘 되셨나요? 이제 마지막입니다.



$sudo nano /etc/network/interfaces



위의 명령어를 입력해서 interfaces의 내용을 바꿔줘야 합니다. 이게 어떻게 바꾸라는 정보가 각기 다른데 저는 다음과 같이 바꿔서 해결했습니다.

auto lo
iface lo inet loopback

allow-hotplug wlan0
iface wlan0 inet dhcp
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

auto eth0
iface eth0 inet dhcp




$ sudo service networking restart



이제 위의 명령어를 입력해서 네트워크 서비스를 다시 시작합니다. 저 같은 경우는 그냥 reboot를 했는데요. reboot하셔도 됩니다. 그리고 다시 켰을 때 GUI 환경에서 오른쪽 위의 와이파이 모양이 생기며 무선랜이 자동으로 잡힌다면 성공입니다. 또한 와이파이 모양을 눌렀을 때 신호가 잡히는 와이파이의 목록들이 생길 것입니다. 마지막으로 ifconfig를 통해 이더넷이 아닌 wan에서 ip 주소를 받아오는지 확인하시거나, 웹 브라우저 열어서 확인하셔도 됩니다.


개인적으로 1시간이면 될 줄 알았던게 생각보다 힘들고 잘 안됐던 과정이었습니다. 이 글을 보고 단번에 해결되시는 분들이 많았으면 좋겠습니다.