aesop howto ralink rt2571wf

18
1 [임베디드 리눅스(2.6)에 WIFI를 써보자] AESOP Embedded Forum [ 임베디드 리눅스(2.6)에 WIFI를 써보자 ] 소속 - AESOP 작성자 - 장병남 (http://blog.naver.com/pimco01) 임베디드 리눅스로 WIFI를 돌려보고 싶으신 분들께서 참고 할만한 문서를 만들어 보았습니다. [ 임베디드 리눅스(2.6)에 WIFI를 써보자] 1. USB WIFI 무선랜카드를 준비하자. 가장 많이 쓰이는 Ralink사의 칩을 쓰는 제품 선정 사용장비 - ipTIME G054U-A (Ralink RT2571WF 칩셋, 외장안테나 ) - 세부스펙 항 목 제 품 사 양 무선 IEEE 802.11b, IEEE 802.11g 전원 USB Bus-Power 크기 82 × 30 × 10mm 사용가능 운영체제 Windows 98, ME, 2000, XP, VISTA, MAC OS, Linux 인터페이스 USB1.1 / USB 2.0 (USB 2.0 권장) Application Note

Upload: others

Post on 11-Feb-2022

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: AESOP howto Ralink RT2571WF

1 [임베디드 리눅스(2.6)에 WIFI를 써보자]

AESOP Embedded Forum

[ 임베디드 리눅스(2.6)에 WIFI를 써보자 ]

소속 - AESOP

작성자 - 장병남 (http://blog.naver.com/pimco01)

개 요

임베디드 리눅스로 WIFI를 돌려보고 싶으신 분들께서 참고 할만한 문서를 만들어 보았습니다.

[ 임베디드 리눅스(2.6)에 WIFI를 써보자]

1. USB WIFI 무선랜카드를 준비하자. 가장 많이 쓰이는 Ralink사의 칩을 쓰는 제품 선정

사용장비

- ipTIME G054U-A (Ralink RT2571WF 칩셋, 외장안테나 有)

- 세부스펙

항 목 제 품 사 양

무선 IEEE 802.11b, IEEE 802.11g

전원 USB Bus-Power

크기 82 × 30 × 10mm

사용가능 운영체제 Windows 98, ME, 2000, XP, VISTA, MAC OS, Linux

인터페이스 USB1.1 / USB 2.0 (USB 2.0 권장)

Application Note

Page 2: AESOP howto Ralink RT2571WF

http://www.aesop-embedded.org

2 [임베디드 리눅스(2.6)에 WIFI를 써보자]

주파수 2.4 GHz

수신감도 -65dBm in 54M 64QAM

-87dBm in 1M BPSK

송신파워 16dBm ± 2dB

변조방식 OFDM, CCK, BPSK, QPSK

보안 64/128bit WEP, WPA-PSK, WPA2PSK, WPAPSK/WPA2PSK

802.11g 속도 54,48,36,18,9,6Mbps

802.11b 속도 11, 5.5, 2, 1Mbps

LED Link/Act

안테나 외장형 SMA 안테나 2.5dB

구성물 USB 무선랜카드, USB 연장 크래들(1.5m), 외장형 안테나,

드라이버 CD, 매뉴얼

허용동작 온도 0℃ ~ 50℃

허용동작 습도 10% ~ 75%

위 장비를 선정한 이유는 기존에 임베디드리눅스에서 잘 돌아간다고 소문난 ASUS USB

무선랜의 수신율이 너무나 떨어져 제품이 단종되었고 이에 용산을 이잡듯 뒤졌지만 구하

지 못한 관계로 제조사에서 리눅스 드라이버를 공식으로 지원하고 구하기 쉽고 잘팔린다

는 제품으로 위 제품을 선택 하였음.

2. 커널에 무선랜 기능을 추가하고 빌드하자

여기서는 linux 커널 2.6.20 버전을 사용하였습니다.

1) make menuconfig

2) Device Drivers Network device support [*] Network device support

Wireless LAN (non-hamradio) [*] Wireless LAN drivers (non-hamradio) & Wireless

Extensions, [*] Wireless Extension API over RtNetlink (파란색으로 표시한 부분에 각각

체크표시[*] 해줄것 )

3) make clean && make

3. WIFI 드라이버, 무선 유틸리티 다운로드 및 컴파일

1) http://www.ralinktech.com/ralink/Home/Support/Linux.html 사이트에 가서

RT2501USB(RT73:RT2571W/RT2573/RT2671)를 클릭하여 다운로드 받는다.

2) 리눅스로 가져와서 원하는 디렉토리에 압축을 풀고 Module/Makefile을 수정한다.

####################################################################

# Module Name: Makefile

# Abstract: Makefile for rt73 linux driver on kernel series 2.6

####################################################################

Page 3: AESOP howto Ralink RT2571WF

http://www.aesop-embedded.org

3 [임베디드 리눅스(2.6)에 WIFI를 써보자]

##

PLATFORM=PC

#PLATFORM=CMPC

#Enable for wpa_supplicant's spcific driver "driver_ralink.c", default enabled.

HAS_RALINK_WPA_SUPPLICANT_SUPPORT=y(WPAPSK 암호화를 사용하기 위해 체크했음)

#Enable for wpa_supplicant's generic driver "driver_wext.c", used for NetworkManager

HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=n

#Support Block Net-If during TxSw queue full.

HAS_BLOCK_NET_IF=n

WFLAGS := -Wall -Wstrict-prototypes -Wno-trigraphs

ifeq ($(HAS_RALINK_WPA_SUPPLICANT_SUPPORT),y)

WFLAGS += -DRALINK_WPA_SUPPLICANT_SUPPORT

endif

ifeq ($(HAS_NATIVE_WPA_SUPPLICANT_SUPPORT),y)

WFLAGS += -DNATIVE_WPA_SUPPLICANT_SUPPORT

endif

ifeq ($(HAS_BLOCK_NET_IF),y)

WFLAGS += -DBLOCK_NET_IF

endif

## Comment/uncomment the following line to enable/disable debugging

#EXTRA_CFLAGS += -DDBG

EXTRA_CFLAGS += $(WFLAGS)

ifeq ($(PLATFORM),PC)

LINUX_SRC =/home/jang/linux-2.6.20-pollux-080715-WIZ-jffs2 (커널소스경로)

endif

ifeq ($(PLATFORM),CMPC)

LINUX_SRC = /home/fonchi/vendor/kernel-default-2.6.21/linux-2.6.21

Page 4: AESOP howto Ralink RT2571WF

http://www.aesop-embedded.org

4 [임베디드 리눅스(2.6)에 WIFI를 써보자]

endif

EXTRA_CFLAGS += -I$(LINUX_SRC)/include

obj-m := rt73.o

rt73-objs := \

rtmp_main.o \

mlme.o \

connect.o \

rtusb_bulk.o \

rtusb_io.o \

sync.o \

assoc.o \

auth.o \

auth_rsp.o \

rtusb_data.o \

rtmp_init.o \

sanity.o \

rtmp_wep.o \

rtmp_info.o \

rtmp_tkip.o \

wpa.o md5.o

ifeq ($(HAS_NATIVE_WPA_SUPPLICANT_SUPPORT),y)

rt73-objs += rtmp_wext.o

endif

ifeq ($(HAS_BLOCK_NET_IF),y)

rt73-objs += netif_block.o

endif

## Configuration files on SuSE

#NDDIR=/etc/sysconfig/network

#MOD_CONF=/etc/modprobe.d/module-renames

## NDDIR/ifcfg-rausb0

Page 5: AESOP howto Ralink RT2571WF

http://www.aesop-embedded.org

5 [임베디드 리눅스(2.6)에 WIFI를 써보자]

ND_CONF=/etc/sysconfig/network-scripts/ifcfg-rausb0

ifdef NDDIR

NDDIR := $(NDDIR)

else

NDDIR := /etc/sysconfig/network-scripts

endif

ifdef MOD_CONF

MOD_CONF := $(MOD_CONF)

else

MOD_CONF := /etc/modprobe.conf

endif

all:

make -C $(LINUX_SRC) SUBDIRS=$(shell pwd) modules

arm-linux-strip -S rt73.ko(만들어진 드라이버 모듈의 심벌테이블 없애서 사이즈를 줄임)

clean:

rm -rf *.o *~ .*.cmd *.ko *.mod.c .tmp_versions built-in.o

install:

make -C /lib/modules/$(shell uname -r)/build \

INSTALL_MOD_DIR=extra SUBDIRS=$(shell pwd) \

modules_install

@echo "Network device directory $(NDDIR)";

@echo "Module configuration file $(MOD_CONF)";

@if [ -d "$(NDDIR)" ] ; then \

if [ ! -f "$(ND_CONF)" ]; then \

echo "Create 'ifcfg-rausb0' in $(NDDIR)/"; \

cp ifcfg-rausb0 $(NDDIR)/ ; \

fi; \

fi

@if ! grep -q 'rausb0' $(MOD_CONF) ; then \

Page 6: AESOP howto Ralink RT2571WF

http://www.aesop-embedded.org

6 [임베디드 리눅스(2.6)에 WIFI를 써보자]

echo "append 'alias rausb0 rt73' to $(MOD_CONF)"; \

echo "alias rausb0 rt73" >> $(MOD_CONF) ; \

fi

/sbin/depmod -a

# auto copy *.bin to /etc/Wireless/RT73STA

# mkdir /etc/Wireless ;

# mkdir /etc/Wireless/RT73STA ;

# cp $(shell pwd)/*.bin /etc/Wireless/RT73STA ;

# cp $(shell pwd)/*.dat /etc/Wireless/RT73STA ;

# Copy file on Mandriva 2007.1

# cp $(shell pwd)/*.bin /lib/firmware/ ;

config:

@touch config.mk

@./Configure

3) Module/rt_config.h 파일을 에디터로 열고

#define PROFILE_PATH, #define RT2573_IMAGE_FILE_NAME 의 값을 해당파일이 실제 넣을

절대경로로 변경한다.

4) make clean && make 로 드라이버를 빌드한다

5) rt73sta.dat은 Module/README 파일을 보고 무선공유기 설정에 맞게 변경한다

6) 빌드한 후에 Module 디렉토리에 있는 rt73.bin, rt73.ko, rt73sta.dat 파일을 잘 챙긴다

7) http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/wireless_tools.29.tar.gz 사이트에

가서 무선유틸리티를 다운로드 받는다.

8) 리눅스로 가져와서 원하는 디렉토리에 압축을 푼다

9) 아래와 같이 Makefile을 수정한다

##

## Please check the configurion parameters below

##

## Installation directory. By default, go in /usr/local.

## Distributions should probably use /, but they probably know better...

ifndef PREFIX

PREFIX = /usr/local

Page 7: AESOP howto Ralink RT2571WF

http://www.aesop-embedded.org

7 [임베디드 리눅스(2.6)에 WIFI를 써보자]

endif

## Compiler to use (modify this for cross compile).

CC = arm-linux-gcc

## Other tools you need to modify for cross compile (static lib only).

AR = arm-linux-ar

RANLIB = arm-linux-ranlib

## Uncomment this to build tools using static version of the library.

## Mostly useful for embedded platforms without ldd, or to create

## a local version (non-root).

# BUILD_STATIC = y

## Uncomment this to build without using libm (less efficient).

## This is mostly useful for embedded platforms without maths.

# BUILD_NOLIBM = y

## Uncomment this to strip binary from symbols. This reduce binary size.

## by a few percent but make debug worse...

# BUILD_STRIPPING = y

## Uncomment this to build with only essential functionality.

## This leaves out the less used features and cut in half the tools.

## This is mostly useful for embedded platforms without limited feature needs.

# BUILD_WE_ESSENTIAL = y

# ***************************************************************************

# ***** Most users should not need to change anything beyond this point *****

# ***************************************************************************

# Version of the Wireless Tools

WT_VERSION := $(shell sed -ne "/WT_VERSION/{s:\([^0-9]*\)::;p;q;}" < iwlib.h )

# Version of Wireless Extensions.

WE_VERSION := $(shell sed -ne "/WE_VERSION/{s:\([^0-9]*\)::;p;q;}" < iwlib.h )

# Always use local header for wireless extensions

Page 8: AESOP howto Ralink RT2571WF

http://www.aesop-embedded.org

8 [임베디드 리눅스(2.6)에 WIFI를 써보자]

WEXT_HEADER = wireless.$(WE_VERSION).h

# Targets to build

STATIC=libiw.a

DYNAMIC=libiw.so.$(WT_VERSION)

PROGS= iwconfig iwlist iwpriv iwspy iwgetid iwevent ifrename

MANPAGES8=iwconfig.8 iwlist.8 iwpriv.8 iwspy.8 iwgetid.8 iwevent.8 ifrename.8

MANPAGES7=wireless.7

MANPAGES5=iftab.5

EXTRAPROGS= macaddr iwmulticall

# Composition of the library :

OBJS = iwlib.o

# Select which library to build and to link tool with

ifdef BUILD_STATIC

IWLIB=$(STATIC)

IWLIB_INSTALL=install-static

else

IWLIB=$(DYNAMIC)

IWLIB_INSTALL=install-dynamic

endif

# Standard name for dynamic library so that the dynamic linker can pick it.

# We will just create a symbolic link to the real thing.

DYNAMIC_LINK= libiw.so

# Install directories

INSTALL_DIR= $(PREFIX)/sbin/

INSTALL_LIB= $(PREFIX)/lib/

INSTALL_INC= $(PREFIX)/include/

INSTALL_MAN= $(PREFIX)/man/

# Various commands

RM = rm -f

RM_CMD = $(RM) *.BAK *.bak *.d *.o *.so ,* *~ *.a *.orig *.rej *.out

LDCONFIG = ldconfig

Page 9: AESOP howto Ralink RT2571WF

http://www.aesop-embedded.org

9 [임베디드 리눅스(2.6)에 WIFI를 써보자]

# Do we want to build with or without libm ?

ifdef BUILD_NOLIBM

LIBS=

WELIB_FLAG= -DWE_NOLIBM=y

else

LIBS= -lm

endif

# Stripping or not ?

ifdef BUILD_STRIPPING

STRIPFLAGS= -Wl,-s

else

STRIPFLAGS=

endif

# Do we want to build with only essential functionality ?

ifdef BUILD_WE_ESSENTIAL

WEDEF_FLAG= -DWE_ESSENTIAL=y

endif

# Other flags

CFLAGS=-Os -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow \

-Wpointer-arith -Wcast-qual -Winline -I.

#CFLAGS=-O2 -W -Wall -Wstrict-prototypes -I.

DEPFLAGS=-MMD

XCFLAGS=$(CFLAGS) $(DEPFLAGS) $(WARN) $(HEADERS) $(WELIB_FLAG) $(WEDEF_FLAG)

PICFLAG=-fPIC

# Standard compilation targets

all:: $(IWLIB) $(PROGS)

%: %.o

$(CC) $(LDFLAGS) $(STRIPFLAGS) $(XCFLAGS) -o $@ $^ $(LIBS)

%.o: %.c wireless.h

$(CC) $(XCFLAGS) -c $<

%.so: %.c wireless.h

Page 10: AESOP howto Ralink RT2571WF

http://www.aesop-embedded.org

10 [임베디드 리눅스(2.6)에 WIFI를 써보자]

$(CC) $(XCFLAGS) $(PICFLAG) -c -o $@ $<

iwconfig: iwconfig.o $(IWLIB)

iwlist: iwlist.o $(IWLIB)

iwpriv: iwpriv.o $(IWLIB)

iwspy: iwspy.o $(IWLIB)

iwgetid: iwgetid.o $(IWLIB)

iwevent: iwevent.o $(IWLIB)

ifrename: ifrename.o $(IWLIB)

macaddr: macaddr.o $(IWLIB)

# Always do symbol stripping here

iwmulticall: iwmulticall.o

$(CC) $(LDFLAGS) -Wl,-s $(XCFLAGS) -o $@ $^ $(LIBS)

# It's a kind of magic...

wireless.h:

cp $(WEXT_HEADER) wireless.h

# Compilation of the dynamic library

$(DYNAMIC): $(OBJS:.o=.so)

$(CC) -shared -o $@ -Wl,-soname,$@ $(STRIPFLAGS) $(LIBS) -lc $^

# Compilation of the static library

$(STATIC): $(OBJS:.o=.so)

$(RM) $@

$(AR) cru $@ $^

$(RANLIB) $@

# Installation : So crude but so effective ;-)

Page 11: AESOP howto Ralink RT2571WF

http://www.aesop-embedded.org

11 [임베디드 리눅스(2.6)에 WIFI를 써보자]

# Less crude thanks to many contributions ;-)

install:: $(IWLIB_INSTALL) install-bin install-hdr install-man

# Install the dynamic library

install-dynamic:: $(DYNAMIC)

install -m 755 -d $(INSTALL_LIB)

install -m 755 $(DYNAMIC) $(INSTALL_LIB)

ln -sfn $(DYNAMIC) $(INSTALL_LIB)/$(DYNAMIC_LINK)

@echo "*** Don't forget to add $(INSTALL_LIB) to /etc/ld.so.conf, and run ldconfig as root.

***"

@$(LDCONFIG) || echo "*** Could not run ldconfig ! ***"

# Install the static library

install-static:: $(STATIC)

install -m 755 -d $(INSTALL_LIB)

install -m 644 $(STATIC) $(INSTALL_LIB)

# All the binaries. Careful, no dependancy on install-dynamic

install-bin:: all

install -m 755 -d $(INSTALL_DIR)

install -m 755 $(PROGS) $(INSTALL_DIR)

# Headers to go with the wireless lib (dev)

install-hdr:: wireless.h

install -m 755 -d $(INSTALL_INC)

install -m 644 iwlib.h $(INSTALL_INC)

install -m 644 wireless.h $(INSTALL_INC)

# How could you live without those manapages ?

install-man::

install -m 755 -d $(INSTALL_MAN)/man8/

install -m 644 $(MANPAGES8) $(INSTALL_MAN)/man8/

install -m 755 -d $(INSTALL_MAN)/man7/

install -m 644 $(MANPAGES7) $(INSTALL_MAN)/man7/

install -m 755 -d $(INSTALL_MAN)/man5/

install -m 644 $(MANPAGES5) $(INSTALL_MAN)/man5/

Page 12: AESOP howto Ralink RT2571WF

http://www.aesop-embedded.org

12 [임베디드 리눅스(2.6)에 WIFI를 써보자]

install-iwmulticall:: iwmulticall

install -m 755 -d $(INSTALL_DIR)

install -m 755 $< $(INSTALL_DIR)/iwconfig

( cd $(INSTALL_DIR) ; \

ln -f -s iwconfig iwlist ; \

ln -f -s iwconfig iwspy ; \

ln -f -s iwconfig iwpriv ; \

ln -f -s iwconfig iwgetid )

clean::

$(RM_CMD)

realclean::

$(RM_CMD)

$(RM) $(STATIC) $(DYNAMIC) $(PROGS) $(EXTRAPROGS) libiw* wireless.h

uninstall::

for f in $(PROGS); do \

$(RM) $(INSTALL_DIR)/$$f; \

done

$(RM) $(INSTALL_LIB)/$(STATIC)

$(RM) $(INSTALL_LIB)/$(DYNAMIC)

$(RM) $(INSTALL_LIB)/$(DYNAMIC_LINK)

$(RM) $(INSTALL_INC)/iwlib.h

$(RM) $(INSTALL_INC)/wireless.h

for f in $(MANPAGES8); do \

$(RM) $(INSTALL_MAN)/man8/$$f; \

done

for f in $(MANPAGES7); do \

$(RM) $(INSTALL_MAN)/man7/$$f; \

done

for f in $(MANPAGES5); do \

$(RM) $(INSTALL_MAN)/man5/$$f; \

done

# Include dependancies

-include *.d

Page 13: AESOP howto Ralink RT2571WF

http://www.aesop-embedded.org

13 [임베디드 리눅스(2.6)에 WIFI를 써보자]

10) make clean && make

11) iwconfig, iwevent, iwgetid, iwlist, iwpriv, iwspy, libiw.so.29 파일을 잘 챙긴다

4. 준비가 끝났으면 본격적으로 WIFI를 돌려보도록 하겠습니다.

1) 2.에서 준비한 커널을 보드에 설치하고 rt73.bin, rt73.ko, rt73sta.dat 파일을 설정한

경로에 맞게 무선유틸리티 iwconfig, iwevent, iwgetid, iwlist, iwpriv, iwspy, libiw.so.29

를 사용할 경로에 모아서 넣는다.

2) 보드에 무선랜카드를 장착한다

3) rt73.ko가 있는 경로로 이동한다

4) ifconfig lo inet 127.0.0.1 up + enter

ifconfig rausb0 inet 192.168.1.10 up + enter (여기서 192.168.1.10은 임의 부여한 IP)

ifconfig 를 실행시켜서 제대로 설정이 되었는지 확인한다.

lo Link encap:Local Loopback

inet addr:127.0.0.1 Mask:255.0.0.0

UP LOOPBACK RUNNING MTU:16436 Metric:1

RX packets:0 errors:0 dropped:0 overruns:0 frame:0

TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:0

RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

rausb0 Link encap:Ethernet HWaddr 00:08:9F:F0:49:F7

inet addr:192.168.1.10 Bcast:192.168.1.255 Mask:255.255.255.0

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:63 errors:0 dropped:0 overruns:0 frame:0

TX packets:11 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:5352 (5.2 KiB) TX bytes:946 (946.0 B)

Page 14: AESOP howto Ralink RT2571WF

http://www.aesop-embedded.org

14 [임베디드 리눅스(2.6)에 WIFI를 써보자]

5) 무선랜 유틸리티 경로로 이동해서 ./iwconfig 를 실행시켜서 AP와 정상적으로 접속

했는지 확인한다

lo no wireless extensions.

rausb0 RT73 WLAN ESSID:"NETGEAR" Nickname:""

Mode:Managed Frequency=2.462 GHz Access Point: 00:0F:B5:E1:B6:3A

Bit Rate=54 Mb/s

RTS thr:off Fragment thr:off

Encryption key:off

Link Quality=94/100 Signal level:-40 dBm Noise level:-79 dBm

Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0

Tx excessive retries:0 Invalid misc:0 Missed beacon:0

6) route add default gw 192.168.1.1 + enter 해서 외부 route를 열어준다

route –n 해서 경로가 제대로 설정되어 있는지 확인한다.

Kernel IP routing table

Destination Gateway Genmask Flags Metric Ref Use Iface

192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 rausb0

0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 rausb0

7) 여기까지 설정이 끝났으면 핑테스트를 해서 외부로 핑이 제대로 전송되는지

확인한다. 설정 끝!

이후 부터는 TIP 입니다. 참고 하세요 ^^

1) NFS 연결

1> NFS를 마운팅 시킬 서버에 접속한다.

2> vim /etc/exports 를 실행하고 서버에서 구동하고 있는 nfs의 경로와 접속할 장비의

아이피(공유기의 고정아이피)와 권한을 셋팅하고 저장한다.

/hd/hyun/nfs 220.90.136.168/24(rw,no_root_squash,insecure,sync)

3> 서버 프롬프트에서 exportfs –a + enter 해서 저장한 내용을 서버에 적용시킨다

4> 장비 터미널에서 아래와 같이 입력해서 마운팅 시킨다

(분홍색은 서버아이피/경로, 녹색은 장비에 마운팅될 경로)

Ex) 테스트 주소

mount -t nfs -o nolock 220.90.136.186:/hd/hyun/nfs /mnt/embedded

Page 15: AESOP howto Ralink RT2571WF

http://www.aesop-embedded.org

15 [임베디드 리눅스(2.6)에 WIFI를 써보자]

2) Allegro NFS 설치하기 (자세한 내용은 http://www.nfsforwindows.com/home )

1> setup-nfs-4.5-demo.exe 실행한다

2> 아래 그림과 같이 설정한다

- Name에는 client에서 mount할 경로를 지정한다. 위에 나와 있는대로 /export/src 로 해도 됨

- Path는 NFS로 공유할 디렉토리를 설정한다. Browse 버튼을 눌러서 경로 설정

- Uid, Gid, Umask, Set mode bits는 위에 나온대로 59,50,000,000으로 설정한다.

- 호스트리스트, R/W, R/O에 대한 설정은 나중에 하기로 하고 Apply 를 누른다

Page 16: AESOP howto Ralink RT2571WF

http://www.aesop-embedded.org

16 [임베디드 리눅스(2.6)에 WIFI를 써보자]

- User lists는 everyone으로 설정하고 Apply를 누른다

- Host lists는 New를 누르고 새로운 이름을 입력한 후 아래 New address에 아이피/포트

형태로 입력하고 Add 한다. 설정 후 Apply 한다.

Ex) 220.90.136.177/24 내 컴퓨터의 모든 포트(24)를 열어놓는다

Page 17: AESOP howto Ralink RT2571WF

http://www.aesop-embedded.org

17 [임베디드 리눅스(2.6)에 WIFI를 써보자]

- 포트맵퍼를 쓸것이냐는 질문인데,, no라고 한다. 설정 후 Apply 한다.

- Allegro NFS Console에서 디버그 메시지를 볼 항목들을 체크한다. 설정 후 Apply한다

Page 18: AESOP howto Ralink RT2571WF

http://www.aesop-embedded.org

18 [임베디드 리눅스(2.6)에 WIFI를 써보자]

- 여기까지 마무리가 되었으면 Exports 탭으로 이동해서 위에서 설정한 항목들의 리스트에

마우스로 클릭하고(Allowed host lists, Read/Write user lists)

Apply -> OK 해서 설정을 마무리 한다.

3> 설정이 마무리 되었으면 단말기 콘솔로 이동해서 아래와 같이 입력하여 Windows

NFS에 연결 한다.

mount –t nfs –o nolock,tcp 220.90.136.177:/export/src /mnt/embedded

220.90.136.177:/export/src : Allegro NFS가 설치된 PC의 IP와 위에서 설정한 경로

/mnt/embedded : 내 장비에 마운트 시킬 경로

Revision History

Date Editor Version Descriptions

2008.10.10 장병남 0.8 초안작성