낮에 마트에서 무선 랜카드라고 하는 와이파이 동글을 사 와서 라즈베리파이에 달아 보려고 하는데 인터페이스가 인식이 잘 안 되는 겁니다. 드라이버를 별도로 깔아 줘야 하는 모양이더라고요.



사용하는 운영체제가 윈도우즈라면 그냥 동봉된 시디에 들어있는 설치 파일을 실행하기만 하면 드라이버 설치는 끝입니다. 하지만 리눅스에서는 커널의 버전에 맞는 드라이버를 빌드하고 적재해 주는 과정이 필요합니다.


리눅스 머신으로 작동하는 라즈베리파이에서 디바이스 드라이버를 빌드하고 설치하는 방법을 소개합니다.


와이파이 동글은 TP-LINK라는 브랜드의 제품이고 모델명은 TL-WN725입니다. 이 동글을 사용하기 위해서 설치해야 하는 장치 드라이버의 이름은 rtl8188eu라고 합니다.[각주:1]


사용환경으로는 라즈베리파이3에 데비안 계열 리눅스 운영체제인 Raspbian Jessie(라즈비안)가 설치되어 있습니다.


아래 적은 명령어를 순서대로 따라하기만 해도 잘 될 거에요.


우선 apt-get upgrade로 최신 버전의 커널을 깔아 줍시다. 꽤 오래 걸릴 수도 있습니다.

$ sudo apt-get update

$ sudo apt-get upgrade

apt-get upgrade 명령어의 수행이 끝난 뒤에 머신을 재부팅합니다. uname -r 명령어로 현재 커널의 버전을 확인할 수 있습니다. 저는 4.9.24-v7+ 버전이 설치되었습니다. 지금 시점에서 최신 버전이란 4.9.24-v7+이기 때문에 4.9.24-v7+를 기준으로 설치법을 설명합니다. 아래 방법대로 하면 굳이 버전을 확인할 필요는 없지만요.


드라이버를 빌드하려고 하는데, 드라이버란 커널 모듈입니다. 그 커널을 빌드할 때 필요한 도구들을 설치합니다. 깃은 소스코드 받아올 때 필요하고 나머지 세 프로그램은 없이 빌드하려고 하면 에러 나니까 깔아요.

$ sudo apt-get install build-essential

$ sudo apt-get install bc

$ sudo apt-get install libncurses5-dev

$ sudo apt-get install git


드라이버를 빌드하기 위해서는 좀 전에 새로 설치한 커널에 대한 커널 헤더 역시 필요합니다. 그래서 현재 커널 버전에 맞는 커널 헤더를 찾아서 설치해야 합니다. 그러기 위해서 깃으로 커널 헤더 소스를 또 받아오고 make 수행해서 빌드하고 하는 '귀찮은 작업'을 하는데,[각주:2][각주:3] 이 때 rpi-source라는 툴을 이용하면 이 귀찮은 작업을 원큐에 처리해 줍니다.[각주:4] 아래 두 줄의 명령어가 rpi-source 설치 사용법의 전부입니다.[각주:5]

$ sudo wget https://raw.githubusercontent.com/notro/rpi-source/master/rpi-source -O /usr/bin/rpi-source && sudo chmod +x /usr/bin/rpi-source && /usr/bin/rpi-source -q --tag-update

$ rpi-source

rpi-source의 수행을 성공적으로 마치면 홈 디렉토리에 리눅스 커널 소스가 생성됩니다.


마지막으로 드라이버의 소스코드를 깃으로 받아와서 현재 커널의 버전에 맞는 드라이버를 빌드한 뒤 커널에 적재시킵니다. (리눅스에서 디바이스 드라이버는 필요할 때 적재될 수 있게 모듈 형식으로 제공됩니다. 확장자가 .ko인 파일이 디바이스 드라이버 커널 모듈입니다.)

$ git clone https://github.com/lwfinger/rtl8188eu

$ cd rtl8188eu

$ sudo make clean

$ sudo make all

$ sudo make install

$ sudo insmod 8188eu.ko


이렇게 해서 드라이버 모듈이 로드되면 끝입니다. 라즈비안 OS에서 무선 랜카드 TP-LINK TL-WN725를 사용하기 위한 장치 드라이버를 설치했습니다.



  1. 그 드라이버를 설치해야 한다는 정보는 이곳에서 얻었습니다. http://brilliantlyeasy.com/ubuntu-linux-tl-wn725n-tp-link-version-2-wifi-driver-install/ [본문으로]
  2. https://wikidocs.net/3246 [본문으로]
  3. https://github.com/seemoo-lab/nexmon/issues/75#issuecomment-299724461 [본문으로]
  4. https://www.raspberrypi.org/forums/viewtopic.php?f=91&t=154749 [본문으로]
  5. https://github.com/notro/rpi-source/wiki [본문으로]
  6. https://raspberrypi.stackexchange.com/questions/26591/usb-wifi-wont-connect-after-reboot [본문으로]
  7. https://www.raspberrypi.org/forums/viewtopic.php?p=459803#p459803 [본문으로]
Top