RadarURL

유닉스/리눅스
2014.08.22 09:58

Linux 무선랜 포팅 방법

조회 수 1509 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

며칠동안 무선랜과 씨름하다 겨우 포팅에 성공하였습니다.

인터넷에서 자료를 찾아서 해보았는데 잘안되더라구요.

그래서 혹시 무선랜 때문에 고생하시는분이 계시면 도움될까 해서 올립니다.

제가 사용하는 CPU는 S5PV210 이구요 무선랜은 USB 타입 ipTime N500U 입니다.


1.먼저 제조사 홈페이지에서 최신 리눅스 드라이버를 다운로드 받습니다.


2.컴파일 메뉴얼을 참조하여 ARM 용으로 컴파일을 합니다.

  .CPU 종류

  .컴파일러

  .커널 경로명

  .인스톨 경로명

   위와 같은 내용등을 내 개발환경에 맞도록 Makefile을 수정하면 됩니다.

   참고로 저는 아래와 같이 하였습니다. 

   EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIAN
   ARCH := arm
   CROSS_COMPILE := arm-generic-linux-gnueabi-
   KVER  := 2.6.35.1
   KSRC ?= /home/ksw/project/kernel_s5pv210/build_s5pv210
   INSTALL_PREFIX := $TopDIR/install

   make & make install 하면 됩니다.

   warning은 무시해도 괜찮지만 error는 내용을 확인하고 해결하여야 합니다.


3.드라이버를 타켓보드에 복사 합니다.


4.이제 드라이버를 올려야 겠지요

   insmod 드라이브명.ko 와 같은 형식으로 하면 됩니다.

   저는 다음과 같이 올렸습니다.

    insmod 8192du.ko 


5.드라이버가 제대로 오라갔는지 확인 합니다.

    lsmod 하면 아래와 같은 내용이 터미널로 출력 되면 됩니다.

    Module                  Size  Used by    Not tainted
    8192du                496436  0


6.USB 포트에 무선랜을 연결합니다.

    USB가 인식하면 /proc/bus/usb/devices 의 내용으로 확인 할 수 있습니다.

    T:  Bus=01 Lev=02 Prnt=02 Port=02 Cnt=03 Dev#=  5 Spd=480 MxCh= 0              
    D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1                   
    P:  Vendor=0bda ProdID=8194 Rev= 0.00                                          
    S:  Manufacturer=Realtek                                                       
    S:  Product=802.11n NIC                                                        
    S:  SerialNumber=00Ps= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=rtl8192du         
    E:  Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms                                    
    E:  Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms     


    다소 내용이 길지만 다음 내용만 확인하면 됩니다.

    P:  Vendor=0bda ProdID=8194 Rev= 0.00         

    S:  Manufacturer=Realtek        

    S:  SerialNumber=00Ps= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=rtl8192du                                                                                           


    제일중요한 부분이  Driver=rtl8192du  입니다.

    드라이버가 올라가서 무선랜 아답터를 인식했다는 내용이기 때문입니다.

                                      

7.다음으로 무선랜 툴을 컴파일 하여야 합니다.

    보통은 키트를 구입하면은 기본으로 설치해서 주기도 합니다.

    컴파일러를 개발 환경에 맞도록 Makefile을 수정하면 됩니다.

    PREFIX = ./install

    CC = arm-generic-linux-gnueabi-gcc
    AR = arm-generic-linux-gnueabi-ar
    RANLIB = arm-generic-linux-gnueabi-ranlib
    make 하면 됩니다.

    실행 파일과 라이브러리가 몇개 생깁니다.

     모두 타겟보드로 복사 하시면 됩니다.


8.다음으로 보안키를 사용하기 위한 프로그램을 컴파일 하여야 합니다.

   타겟보드에 설치되어 있을수도 있으나 최신버젼을 사용하기 위해서는 컴파일해서 사용하는것도

   좋은 방법입니다.                

   Makefile 내용을 아래와 같이 수정합니다.

   CC = arm-generic-linux-gnueabi-gcc
   AR = arm-generic-linux-gnueabi-ar
   RANLIB = arm-generic-linux-gnueabi-ranlib

   make 하면 됩니다.

   실행 파일이 여러개 생기면 모두 타겟보드에 복사합니다.


9.이제야 무선랜을 사용할 준비가 끝났습니다. 


10.무선랜이 어떤게 잡히는지 확인 하여야 합니다.

   iwlist wlan0 scan 하면은 엄청나게 많은 메시지가 출력 됩니다.

wlan0     Scan completed :
          Cell 01 - Address: 00:08:9F:A5:93:AC
                    ESSID:"dp1"
                    Protocol:IEEE 802.11bgn
                    Mode:Master
                    Frequency:2.432 GHz (Channel 5)
                    Encryption key:on
                    Bit Rates:300 Mb/s
                    Extra:wpa_ie=dd160050f20101000050f20401000050f20401000050f202
                    IE: WPA Version 1
                        Group Cipher : CCMP
                        Pairwise Ciphers (1) : CCMP
                        Authentication Suites (1) : PSK
                    Extra:rsn_ie=30140100000fac040100000fac040100000fac020000
                    IE: IEEE 802.11i/WPA2 Version 1
                        Group Cipher : CCMP
                        Pairwise Ciphers (1) : CCMP
                        Authentication Suites (1) : PSK
                    IE: Unknown: DD9E0050F204104A0001101044000102103B0001031047001063041253101920061228AABBCCDDEEFF1021001B5265616C74656B2053656D69636F6E647563746F7220436F72702E1023000752544C387878781024000D455626
                    Quality=98/100  Signal level=100/100 
          Cell 02 - Address: 00:08:9F:DB:7A:F4
                    ESSID:"iptime"
                    Protocol:IEEE 802.11bgn
                    Mode:Master
                    Frequency:2.412 GHz (Channel 1)
                    Encryption key:on
                    Bit Rates:300 Mb/s
                    Extra:wpa_ie=dd160050f20101000050f20401000050f20401000050f202
                    IE: WPA Version 1
                        Group Cipher : CCMP
                        Pairwise Ciphers (1) : CCMP
                        Authentication Suites (1) : PSK
                    Extra:rsn_ie=30140100000fac040100000fac040100000fac020000
                    IE: IEEE 802.11i/WPA2 Version 1
                        Group Cipher : CCMP
                        Pairwise Ciphers (1) : CCMP
                        Authentication Suites (1) : PSK
                    IE: Unknown: DD0E0050F204104A0001101044000102
                    Quality=100/100  Signal level=58/100 

                     ---------------------- 나머지 생략 -------------------------------------


11.많은 내용 중에서 ESSID를 보면 접속하고자하는 무선랜을 찾을 수 있습니다.


12.보안키 설정 파일을 다음과 같은 방법으로 만들어야 합니다.

  ./wpa_passphrase essid password >> 파일명.conf

    - essid 는 위에서 확인한 ESSID(iptime) 입니다.

    - password 는 보안키값 입니다.

    - ./wpa_passphrase iptime 1234567890 >> iptime.conf 과 같은 형식 입니다.

  - iptime.conf 의 내용은 다음과 같습니다. 

    network={
           ssid="iptime"
           #psk="1234567890"
           psk=4a701ef142444b24c4cb4c1be394432d97cdb195c90c0e9f47e1eb495be02a39
   }


13. iptime.conf 내용을 수정하여 줍니다.

   network={

        ssid="iptime"

        proto=WPA2

        key_mgmt=WPA-PSK

       #psk="1234554321"

        psk=302577bbc24906205b825948ea7026e816e67b60cd2a972d2f1d811a98ddcb9e

    }

     proto 와  key_mgmt는 무선랜 환경에 맞추어 수정하면 됩니다.

     노트북 무선랜 속성을 확인하면 알 수 있습니다.


14.무선랜에 연결합니다.

  - 먼저 유선랜을 내립니다.

   ifconfig eth0 down 

 - 무선랜을 올리고

   fconfig wlan0 up

 - 무선랜에 접속을 합니다.

   iwconfig wlan0 essid "iptime"

 - 보안키를 살리고

   ./wpa_supplicant -iwlan0 -c./iptime.conf &

 - 아이피를 지정하는데

   자동(DHCP)은

   dhcpcd wlan0

   수동은

   ifconfig wlan0 192.168.0.27 netmask 255.255.255.0

   route add default gw 192.168.0.1 dev wlan0

   게 설정하면 됩니다.


15.무선랜 환경을 확인 하려면

   ifconfig

      iwconfig

 

16.이제 무선랜 사용하시면 됩니다.

     핑테스트가 제일 먼저겠지요.

     ping 192.168.0.1

     64 bytes from 192.168.0.1: seq=0 ttl=255 time=8.532 ms
     64 bytes from 192.168.0.1: seq=1 ttl=255 time=2.739 ms
     64 bytes from 192.168.0.1: seq=2 ttl=255 time=2.979 ms
     64 bytes from 192.168.0.1: seq=3 ttl=255 time=4.309 ms
     64 bytes from 192.168.0.1: seq=4 ttl=255 time=8.557 ms


17.핑테스트 안되면 에러메시지 확인하면서 처음부터 다시  작업하여야 합니다.


18.오타,틀린내용은 귀엽게 봐주시길.................................    


출처 : http://forum.falinux.com/zbxe/index.php?document_srl=785255&mid=network_programming

?

공부 게시판

공부에 도움되는 글을 올려주세요.

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 [공지] 공부 게시판 입니다. 처누 2003.08.18 928092
33 유닉스/리눅스 리눅스(Linux) 디렉토리 구조 file JaeSoo 2016.10.20 693
32 유닉스/리눅스 Linux/Unix용 nmon 설치 및 구성 file JaeSoo 2016.05.04 773
31 유닉스/리눅스 [Linux/Unix] 심볼릭 링크(ln) 만들기 및 확인/삭제 JaeSoo 2016.02.19 901
30 유닉스/리눅스 리눅스(Linux)에서 하위 디렉토리까지 파일 찾기, 찾아서 지우기 JaeSoo 2015.02.24 855
29 유닉스/리눅스 Linux MRTG 설치 (yum install) JaeSoo 2014.12.26 803
28 유닉스/리눅스 Linux에서 Disk(HDD) Check 하기 JaeSoo 2014.12.26 859
27 유닉스/리눅스 UNIX, Linux fuser 사용법 (umount 옵션이 안될때 사용) JaeSoo 2014.12.26 892
26 유닉스/리눅스 Linux 커널이 32bit 인가 64bit인가 확인하는 법 JaeSoo 2014.12.22 880
25 유닉스/리눅스 Linux 웹서비스를 위한 퍼미션 문제 JaeSoo 2014.12.18 956
24 웹 프로그래밍 Linux/NT XE 설치 시 안전한 폴더권한 설정하기 (chown 사용) JaeSoo 2014.12.17 1184
23 유닉스/리눅스 Linux CentOS 방화벽 설정 - iptables JaeSoo 2014.12.16 1076
22 유닉스/리눅스 Linux에서 Cron을 이용한 스케쥴러 관리 JaeSoo 2014.10.20 1518
» 유닉스/리눅스 Linux 무선랜 포팅 방법 JaeSoo 2014.08.22 1509
20 유닉스/리눅스 Linux 강제 umount 방법 (umount : device is busy 발생시) JaeSoo 2014.08.19 1474
19 유닉스/리눅스 Unix/Linux DISK 검사 및 복구 JaeSoo 2014.08.19 1600
18 유닉스/리눅스 리눅스 명령어 : find 활용법 JaeSoo 2014.08.09 1450
17 유닉스/리눅스 Linux 디렉토리나 파일 개수 세기 JaeSoo 2014.07.08 1527
16 유닉스/리눅스 Linux 톰캣 tomcat 재실행, 재시작 JaeSoo 2014.06.24 1945
15 유닉스/리눅스 Linux 서버 하드웨어 정보 확인하기 (CPU, HDD, MEM등) JaeSoo 2014.06.10 1795
14 유닉스/리눅스 Redhat Linux rhn 인증 실패로 인한 yum 사용 불가시 조치 JaeSoo 2014.05.29 2036
Board Pagination Prev 1 2 Next
/ 2


즐겨찾기 (가족)

JAESOO's HOMEPAGE


YOUNGAE's HOMEPAGE


장여은 홈페이지


장여희 홈페이지


장여원 홈페이지


즐겨찾기 (업무)

알리카페 홀릭

숭실대 컴퓨터 통신연구실 (서창진)

말레이시아 KL Sentral 한국인 GuestHouse


즐겨찾기 (취미)

어드민아이디

유에코 사랑회

아스가르드 좋은사람/나쁜사람

JServer.kr

제이서버 메타블로그

재수 티스토리


즐겨찾기 (강의, 커뮤니티)

재수 강의 홈페이지


한소리


VTMODE.COM


숭실대 인공지능학과


숭실대 통신연구실


베너