안녕하세요, 


IoT 구현을 위해 라즈베리 파이에 WiFi USB Adapter를 설치하려던 중, 제대로 동작하지 않아 많은 시행착오를 거쳐 완료한 과정을 아래와 같이 공유합니다.


  1. 개발 환경:
    • Single board: Raspberry PI Type B
    • USB Wireless LAN Card: ipTIME N150UA
    • Rasbian Version: NOOBS 1.3.7 버전으로 설치, terminal에서 아래 확인 
      pi@raspberrypi ~ $ uname -a
      Linux raspberrypi 3.6.11+ #538 PREEMPT Fri Aug 30 20:42:08 BST 2013 armv6l GNU/Linux
  2. 장치 연결 확인
    • terminal에서 아래 명령 확인
      pi@raspberrypi ~ $ lsusb
      Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp. 
      Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
      Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. 
      Bus 001 Device 004: ID 148f:7601 Ralink Technology, Corp.
    • 장치의 USB ID를 업데이트
      pi@raspberrypi ~ sudo update-usbids
      pi@raspberrypi ~ $ lsusb
      Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp. SMC9512/9514 USB Hub
      Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
      Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
      Bus 001 Device 004: ID 148f:7601 Ralink Technology, Corp. MT7601U Wireless Adapter
    • Ralink 관련 driver 코드를 다운로드
      pi@raspberrypi ~ $ sudo apt-get install firmware-ralink
  3. 드라이버 문제 해결
    • apt-get에서 제공하는 드라이버는 정상동작하지 않는 문제가 있어 아래와 같은 방식으로 해결
      1. wget https://dl.dropboxusercontent.com/u/80256631/MT7601U-3-6-11-538.tar.gz
      2. tar -xzvf MT7601U-3-6-11-538.tar.gz
      3. sudo install -m 644 -c mtutil7601Usta.ko/lib/modules/3.6.11+/kernel/drivers/net/wireless/
      4. sudo depmod -a 3.6.11+
      5. sudo rm -rf /etc/Wireless/RT2870STA
      6. sudo mkdir /etc/Wireless/RT2870STA
      7. sudo cp RT2870STA.dat /etc/Wireless/RT2870STA/.
      8. sudo install -m 644 -c mt7601Usta.ko /lib/modules/3.6.11+/kernel/drivers/net/wireless/
      9. sudo depmod -a 3.6.11+
      10. sudo install -m 644 -c mtnet7601Usta.ko /lib/modules/3.6.11+/kernel/drivers/net/wireless/
      11. sudo depmod -a 3.6.11+
      12. sudo reboot
  4. 드라이버 정상 동작 확인
    • pi@pi ~ $ lsmod
      ..........
      mtnet7601Usta          34503  1 
      mt7601Usta           1031548  1 mtnet7601Usta
      mtutil7601Usta         70168  2 mt7601Usta,mtnet7601Usta
    • pi@pi ~ $ ifconfig
      ra0       Link encap:Ethernet  HWaddr 7c:dd:90:3f:02:e6  
                inet addr:192.168.1.84  Bcast:192.168.1.255  Mask:255.255.255.0
                UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
                RX packets:133478 errors:0 dropped:0 overruns:0 frame:0
                TX packets:454 errors:0 dropped:0 overruns:0 carrier:0
                collisions:0 txqueuelen:1000 
                RX bytes:29364556 (28.0 MiB)  TX bytes:29523 (28.8 KiB)
  5. 네트워크 환경 설정
    • /etc/network/interfaces 파일에 다음과 같이 작성, 이때 wpa-ssid와 wpa-psk 내용은 AP 에 맞춰 작성
      auto lo

      iface lo inet loopback
      iface eth0 inet dhcp

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

      auto ra0
      allow-hotplug ra0
      iface ra0 inet dhcp
      wpa-ssid "AP 이름"
      wpa-psk "AP 접속 비밀번호"
  • 재구동하여 드라이버 및 정상 동작 확인 (랜카드에 파란불이 껌벅이면 정상 동작하는 것임)
마지막으로 사족으로 견해를 첨언하면, 
  • 라즈베리 파이는 나름 최적화된 싱글 보드로 IoT 개발에 필요한 컴퓨팅 파워를 제공하고
  • 사용자 가이드와 개발자 커뮤니티가 잘 갖춰진 반면,
  • 리눅스 기반 프로젝트 특유의 H/W 호환성 확보 및 커널 버전 업에 따른 device driver 충돌 문제는 일반 사용자가 접근하는 데 장벽이 됨.

이 모든 정보를 제공한 아래 라즈베리 파이 커뮤니티에 감사!


+ Recent posts