안녕하세요, "생각의 웹"입니다.


앞서 라즈베리 파이에 WiFi USB dongle 설치한 포스팅을 공유한 바 있습니다.

라즈베리 포럼을 뒤지다 당시 라즈베리안 커널 버전에 맞는 드라이버를 컴파일해서 dropbox로 제공해준 MrEngMan 덕분에 일단 사용할 수 있게 되었지요.


그러나, 문제는 커널이 업그레이드 될 때마다 해당 커널 버전으로 빌드한 드라이버를 구해서 수작업 설치를 해야 한다는 문제가 있었습니다.

무심코 아래와 같이 라즈베리파이의 커널 업그레이드 후 재부팅을 하니 더 이상 와이파이 동글이 사용할 수 없는 상태가 되어 버렸습니다. ㅠ.ㅠ.


sudo apt-get update
sudo apt-get upgrade
sudo reboot -t NOW


문제의 원인을 찾기 위해 로깅 메세지를 보니 MrEngMan이 제공한 드라이버가 커널과 호환되지 않았습니다.

당시엔 (지금도) 드라이버를 빌드하기 위해 필요한 절차를 이해하지 못하고 있었기 때문에 제가 할 수 있는 최선은 라즈베리파이 포럼에 해당 버전에 맞춰 드라이버를 컴파일해 달라는 읍소형 댓글을 다는 것 뿐이였습니다.


그런데 안타깝게도 몇 달이 지나도록 댓글이 달리지 않더군요.


결국 어쩔 수 없이 Ethernet으로 연결하여 사용하던 중 다시 와이파이가 필요한 상황이 되어 다시 한번 (용기를 내어) 구글링하기 시작했습니다.


그 결과, 다행히 N150UA에 사용된 WiFi 칩셋인 MediaTek-MT7601의 드라이버를 라즈베리파이에서 빌드하는 법을 정리한 포스팅을 발견해 기쁜 마음에 링크를 공유합니다.


http://groenholdt.net/Computers/RaspberryPi/MediaTek-MT7601-USB-WIFI-on-the-Raspberry-Pi/MediaTek-MT7601-USB-WIFI-on-the-Raspberry-Pi.html


상기 포스팅 내용을 한글로 재 정리하면 다음과 같습니다.

// root 계정으로 변경
sudo -s

// 최신 version download
apt-get update
apt-get upgrade
rpi-update

// 리눅스 커널 소스 코드 다운로드
cd /usr/src
git clone https://github.com/raspberrypi/linux.git
sudo ln -s /usr/src/linux /lib/modules/`uname -r`/build
cd linux

// 현재 수행 중인 시스템 커널 설정으로 지정
make mrproper
zcat /proc/config.gz > .config
cp .config .config.org
make modules_prepare


// 커널 모듈 심볼 다운로드 (커널 재 컴파일을 막기 위함)
wget https://raw.github.com/raspberrypi/firmware/master/extra/Module.symvers

// MT7601 USB 드라이버를 압축해제
cd ~ 
tar -xvjpf DPO_MT7601U_LinuxSTA_3.0.0.4_20130913.tar.bz2 
cd DPO*


드라이버에서 엄청난 양의 로그를 뱉기 때문에 이를 막기 위해서 os/linux/rt_linux.c 파일에서 다음 문장을 수정합니다.

ULONG RTDebugLevel = RT_DEBUG_TRACE; 
ULONG RTDebugLevel = 0; // RT_DEBUG_TRACE; 

마지막으로 드라이버를 빌드하고 인스톨 합니다.

make
make install


혹시 이전 제 포스팅에서 설명한 방식대로 driver를 설치하신 분은 최종 설치 과정 (make install) 전에 이전 드라이버를 삭제해 주셔야 합니다.

제거 명령은 다음과 같습니다.


sudo rm -rf /etc/Wireless/RT2870STA

감사합니다.

  1. 이재용 2014.11.20 09:25

    제가 원하던 정보를 공유해 주셔서 감사합니다.
    허나 저는 git clone https://github.com/raspberrypi/linux.git 이 부분에서 다운로딩 하는데 8시간 정도 걸려서 다 받고나서 resolve objects 중 index-pack died of signal 993878 이렇게 오류가 떠버리네요ㅠㅠ
    라즈베리에 바로 동글이를 달아서 와이파이를 잡아서 다운을 받아서 그런가 속도가 매우 느렸습니다. 긴 시간을 기다리고 다운받았던 것이 한순간에 날아갔습니다.
    이 오류가 왜 뜨는지 궁금해서 질문 올려봅니다. 저 좀 구제시켜 주시길 바랍니다 ㅠㅠ

    • 생각의 웹 WebofThink 2014.11.20 17:14 신고

      안녕하세요,
      제가 경험하지 않은 현상이라 저도 원인을 알기 힘들어 조심스럽게 몇 가지 확인해보길 권합니다.

      1. 라즈비안을 최신 버전으로 업그레이드 하셨나요? (apt-get upgrade)

      2. 댓글에서 WiFi 로 산딸기 사용 중이라고 하셨는데 해당 버전에서 WiFi 동글이 동작한다면 굳이 드라이버를 재 설치할 필요가 있나요? 저는 동글이 제대로 동작하지 않아 이더넷으로 네트워크 설정 후 사용했습니다.

      라즈베리파이 커널 파일을 받고 오류가 생긴 것으로 보아 받은 파일들과 쓰고 있는 커널이 맞지 않은 게 아닐까 생각됩니다.
      부디 문제를 잘 해결하시길!

  2. 라즈 2015.01.09 03:28

    안녕하세요.
    저는 지금 3.12.35+ 버전 커널을 사용중인데
    lsmod 를 아무리해도 모듈이 없네요..
    포스팅 링크가 사라져 댓글납깁니다!

    • 생각의 웹 WebofThink 2015.01.09 07:53 신고

      안녕하세요. 진짜 원본 링크가 사라졌군요. T.T 시간이 지나 드라이버 빌드 순서는 기억하지 못해 재 검색 결과 유사한 내용의 포스팅을 찾아 공유합니다. http://va3paw.com/2014/03/16/hsmm-mesh-on-raspberry-pi/ 기억 상으로는 유사한데 이대로 제가 해보지 않아 정상 동작 여부는 보장하지 못하는 점 양해바랍니다. ^^;;

    • 라즈 2015.01.09 11:27

      어후 아닙니다~ 이렇게 다시 찾아주신게 감사할 따름입니다.
      아...제발 됬으면 좋겠네요.
      iptime n150ua 를 많이 쓴다하여 산건데 파란불은 나오는데
      왜 안되는지 모르겠습니다 ㅠㅠ 시도해보겠습니다.!
      감사합니다. 새해 복 많이 받으세요!

    • 생각의 웹 WebofThink 2015.01.09 11:34 신고

      저도 라즈 책에 지원하는 동글 모델로 나와서 비싸게 샀다가 된통 당했죠 -_-;;

  3. KangBom 2015.05.06 02:13

    안녕하세요 글 잘 보았습니다. 한 가지 여쭤볼 것이 있는데 make 명령어 실행 중에 rt_linux.o 에서 에러가 발생했습니다. 해서 rt_linux.c를 gcc -c 컴파일을 하였는데 헤더파일(c 파일에 include된 헤더파일)이 없다는 에러가 떴습니다. github에서 해당되는 헤더파일을 다운로드 받았더니 더 많은 에러가 뜨길래 컴파일은 그만두었습니다. rt_linux.o 에러가 발생하는 이유는 무엇일까요?

  4. AlphaFactory 2015.07.02 19:55

    안녕하세요. 게시글이 많은 도움이 되었습니다.
    다만 최근 라즈비안의 커널 버전이 4.0.X로 업데이트됨에 따라 일부 맞지 않는 부분이 있어 추가를 부탁드리고 싶습니다.

    zcat /proc/config.gz > ./config

    명령어를 실행하기 이전에, 이제는

    sudo modprobe configs

    를 실행해주어야만 config.gz 파일이 생성된다고 합니다.

    해당 이슈는 라즈베리파이 Github Issue Tracker에서 발견하였습니다.

    https://github.com/raspberrypi/firmware/issues/442

    이 부분에서 막히는 분도 있을거라 생각되어 댓글 남깁니다.

  5. AlphaFactory 2015.07.02 20:31

    추가로 리눅스 커널 3.13 이후로는 소스 일부분을 수정해야 제대로 컴파일 되는 것으로 보입니다. 관련 내용은 아래 링크에 있습니다.

    http://www.arnelborja.com/compiling-rt2870-wifi-driver-in-fedora/

  6. 생각의 웹 WebofThink 2015.07.02 20:32 신고

    공유 감사합니다 ^^

안녕하세요. '생각의 웹'입니다.


한국의 테크 샵인 대디스랩 지원에 힘입어 빠르게 프로토타이핑한 '홈 센서 프레임워크'을 소개합니다.

'홈 센서 프로임워크'는 스마트 홈 환경에서 사용자에게 필요한 서비스를 발굴하기 위해 데이터를 모으고 데이터를 분석해 컨텍스트를 발굴하기 위한 JavaScript 개발 환경입니다. 


 상세한 내용은 아래 슬라이드를 참고하시기 바랍니다.



덧붙여 제가 생각하는 이 프레임워크가 가지는 장점은 다음과 같습니다.

    • 오픈 소스 하드웨어를 이용해 스마트 홈 관련 아이디어를 손쉽게 DIY 
    • 웹 월드의 일등 시민인 JavaScript 만으로 서비스 개발 가능
    • Open API (RESTful Web API)와 연동한 서비스 개발 가능
    • 사생활 침해의 우려가 있는 민감한 컨텍스트 정보를 클라우드가 아닌 댁 내에 저장
    • HTML5 기반 멀티 스크린 (N-Screen) 서비스 ready   

개발 관련해서 궁금한 점이나 아이디어 있으시면 댓글로 남겨주세요.


감사합니다.


덧글1. 

라즈베리 파이에서 MySQL 설치가 제대로 되지 않을 경우, 아래 링크를 참고하시기 바랍니다.

http://likeplex.com/Blog/Archives/92


덧글2. 

'밸브의 신' 덕분에 의도치 않게 이 슬라이드가 관심을 많이 받게 되었네요.

슬라이드를 보고 진행하시다가 막히는 부분을 댓글로 연락처와 함께 남겨주시면 A/S 해드리도록 하겠습니다. 







  1. 생각의 웹 WebofThink 2014.09.10 04:17 신고

    관련 소스 코드를 아래 github에 공유해 두었습니다. IoT에 관심 있으신 분들에게 도움이 되길 바랍니다.
    https://github.com/hyunghunny/homesensors

  2. 생각의 웹 WebofThink 2015.02.28 18:10 신고

    Raspberry Pi에서 MySQL 설치시 시행착오가 많다는 의견 있어서 보충합니다.
    먼저 아래 설치 관련 글을 참고하시기 바랍니다:
    http://likeplex.com/Blog/Archives/92

    위의 포스팅처럼 설치가 제대로 되지 않았을 경우, 설치 제거 후 재 설치하여 시도해 보시고 추가적인 이슈 발생 시 관련 로그를 댓글로 남겨 주시면 성심껏 A/S 해드리도록 하겠습니다.

    감사합니다.

    생각의 웹 드림

  3. saykim 2015.03.01 00:34

    안녕하세요. 너무 초보적인 질문에 여러번 확인 주셔서 너무나 감사합니다. 우역곡절끝에 13번째 장까지 왔는데요....
    sudo node install jade 이렇게 명령어를 진행하면
    module.js:333
    throw err;
    ^
    Error: Cannot find module '/home/pi/install'

    이라고 ... 나오며 진행이 안됩니다.

    뭐가 문제일까요?

  4. 생각의 웹 WebofThink 2015.03.01 08:51 신고

    sudo npm install jade 로 명령어를 입력하시면 됩니다 ^^
    node는 실행하는 명령이고 npm은 설치하는 명령이라고 보시면 무방할 듯 싶네요.

  5. 가영 2017.05.18 01:12

    ㅠㅠ딱 찾던 정보인데 정리엄청잘되어있네요 따라해봐야겠네요 정말감사합니다~~

안녕하세요,

라즈베리 파이에 무선랜을 연결하여 사용할 때 AP가 바뀔 때마다 유선랜을 연결하여 ssid/password를 /etc/networks/interfaces에 작성해주어야 하는 번거로움이 있어 찾던 중 괜찮은 도구가 있어 다음과 같이 소개합니다.

먼저 shell에서 다음과 같이 wicd-curses 도구를 설치합니다.

sudo apt-get install wicd-curses

설치가 완료되면 다음과 같이 도구를 실행합니다.

sudo wicd-curses


상기 화면과 같이 주변의 AP 리스트가 나타나게 되는데 혹시 나타나지 않는 경우는 P 키 (Shift-p)를 눌러 wireless interface의 이름을 지정해줍니다. 대부분 wlan0이라는 이름을 쓰는데 제 LAN card의 경우, ra0 라는 이름를 사용합니다. 화면 아래 관련된 명령어가 있으니 참고하시기 바랍니다.


접속하고자 하는 AP를 커서 키로 선택 후 오른쪽 방향키를 누르면 접속 설정을 할 수 있습니다.



커서 키를 이용해 Key 항목에 AP의 암호 키를 입력하고 Automatically connect to this network에 체크 후 F10을 누르면 저장됩니다.


이와 동일한 방식으로 필요한 AP 마다 암호를 저장하면 AP 변경 시에도 유선 랜 연결 없이 손 쉽게 raspberry Pi를 사용하실 수 있습니다.


감사합니다.


출처 : http://raspberrypi.stackexchange.com/questions/11631/wifi-setup-for-multiple-networks



+ Recent posts