며칠동안 무선랜과 씨름하다 겨우 포팅에 성공하였습니다.
인터넷에서 자료를 찾아서 해보았는데 잘안되더라구요.
그래서 혹시 무선랜 때문에 고생하시는분이 계시면 도움될까 해서 올립니다.
제가 사용하는 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.오타,틀린내용은 귀엽게 봐주시길.................................
오우~ 대단하세요. 글 내용이 네트워크 프로그래밍 게시판에 적당할 것 같아 옮겼습니다.
훌륭한 정보 감사합니다.