기존 이솝 임베디드 포럼의 지식인 서비스가 게시판 형태로 변경되었습니다.

고현철님의 무선랜 답변을 보니 ZD1211칩셋에서는 USB무선랜 붙이기에

성공하셨다고 쓰신 글을 보았습니다..

제가 이번에 구한 USB랜카드는 UNICORN WL54G 로써 ZD1211과 ZD1211B

인거 같네요..

2.6.12 x86과 mips용으로 컴파일 하니까 무난하게 컴파일이 되는데

arm용으로만 컴파일이 잘 안되네요

이솦커널(2.6)과 공개커널(2.6)로 컴파일을 하니 다음과 같은 각기 다르지만

비슷한 에러가 나네요..ㅡㅜ 고수님들의 조언 부탁드립니다..


고현철

2006.05.30 11:07:59
*.190.41.69

Makefile의 옵션처리 문제인 듯 보여지네요.

두가지 문제인 듯 한데, 두 옵션을 찾아서 arm용으로 바꿔주시면 될 듯 합니다.

이용휴

2006.05.30 13:59:41
*.240.203.114

#
# .zd1211 - USB2.0 802.11b/g driver for Zydas ZD1211 chipsets
#
#
#

CC=arm-linux-gcc
CPP=arm-linux-g++
LD=arm-linux-ld
RM=rm -f -r

# if the kernel is 2.6.x, trun on this
KERN_26=y
#KERNEL_SOURCE=/korea-dokdo/linux-2.6.11-h1940-aesop2440-ghcfix
KERNEL_SOURCE=/usr/src/linux-2.6.12
# if the kernel is 2.4.x, trun on this
#KERN_24=y
#KERNEL_SOURCE=/usr/src/linux-2.4.26

SRC_DIR=src
DEFINES=-D__KERNEL__ -DMODULE=1
#DEFINES= modules

#KERNRELEASE := $(shell uname -r;)
KERNERELEASE := 2.6.12
MODPATH := /lib/modules/$(KERNRELEASE)
#MODPATH := ./

ifeq ($(KERN_26), y)

ifeq ($(ZD1211REV_B),1)
MODULE = zd1211b.ko
endif
ifeq ($(ZD1211REV_B),0)
MODULE = zd1211.ko
endif

INCLUDES=-I$(KERNEL_SOURCE)/include -I$(SRC_DIR)/include/ -I$(SRC_DIR)

EXTRA_CFLAGS += -I$(PWD)/src/include

ifndef CONFIG_FRAME_POINTER
EXTRA_CFLAGS += -fomit-frame-pointer
endif

ifdef CONFIG_SMP
EXTRA_CFLAGS += -D__SMP__ -DSMP
endif

#KDIR := /lib/modules/$(shell uname -r)/build
#KDIR := korea-dokdo/linux-2.6.11-h1940-aesop2440-ghcfix
KDIR := /usr/src/linux-2.6.12

PWD := $(shell pwd)

WLAN_SRC=$(PWD)


EXTRA_CFLAGS += -O2 -Wall -Wstrict-prototypes -pipe
#EXTRA_CFLAGS += -Wa,-a,-ad -g
EXTRA_CFLAGS += -DZDCONF_WE_STAT_SUPPORT=1
EXTRA_CFLAGS += -DHOST_IF_USB
EXTRA_CFLAGS += -DAMAC
EXTRA_CFLAGS += -DGCCK
EXTRA_CFLAGS += -DOFDM
EXTRA_CFLAGS += -DHOSTAPD_SUPPORT
EXTRA_CFLAGS += -DUSE_EP4_SET_REG
EXTRA_CFLAGS += -DDOWNLOADFIRMWARE
EXTRA_CFLAGS += -DfTX_GAIN_OFDM=0
EXTRA_CFLAGS += -DfNEW_CODE_MAP=1
EXTRA_CFLAGS += -DfWRITE_WORD_REG=1
EXTRA_CFLAGS += -DfREAD_MUL_REG=1
EXTRA_CFLAGS += -DENHANCE_RX=1

EXTRA_CFLAGS += -DZDCONF_MENUDBG
EXTRA_CFLAGS += -DZDCONF_APDBG
ifeq ($(ZD1211REV_B),1)
EXTRA_CFLAGS += -DZD1211B
endif
ifeq ($(ZD1211REV_B),0)
EXTRA_CFLAGS += -DZD1211
endif
#EXTRA_CFLAGS += $(INCLUDES)

ifeq ($(ZD1211REV_B),1)
obj-m := zd1211b.o
endif
ifeq ($(ZD1211REV_B),0)
obj-m := zd1211.o
endif
zd1211-objs := $(SRC_DIR)/zd1205.o
$(SRC_DIR)/zdasocsvc.o
$(SRC_DIR)/zdauthreq.o
$(SRC_DIR)/zdauthrsp.o
$(SRC_DIR)/zdmmrx.o
$(SRC_DIR)/zdshared.o
$(SRC_DIR)/zdhci.o
$(SRC_DIR)/zdglobal.o
$(SRC_DIR)/zdencrypt.o
$(SRC_DIR)/zdpmfilter.o
$(SRC_DIR)/zdpsmon.o
$(SRC_DIR)/zdsynch.o
$(SRC_DIR)/zdbuf.o
$(SRC_DIR)/zd1205_proc.o
$(SRC_DIR)/zdhw.o
$(SRC_DIR)/zddebug.o
$(SRC_DIR)/zdtkipseed.o
$(SRC_DIR)/zdmic.o
$(SRC_DIR)/zddebug2.o
$(SRC_DIR)/zdusb.o
ifeq ($(ZD1211REV_B),1)
zd1211-objs += $(SRC_DIR)/zd1211.o
zd1211b-objs = $(zd1211-objs)
endif
ifeq ($(ZD1211REV_B),0)
zd1211-objs += $(SRC_DIR)/zd1211.o
endif

all:

ifneq ($(KERNELRELEASE),)

else
ifndef ZD1211REV_B
make both
else
@echo -e $(KDIR)
@echo -e $(PWD)
@echo -e $(EXTRA_CFLAGS)
@echo -e $(zd1211-objs)
$(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules
endif

endif

else # kernel 2.4

INCLUDES=-I$(KERNEL_SOURCE)/include -I$(SRC_DIR)/include/ -I$(SRC_DIR)
ifeq ($(ZD1211REV_B),1)
MODULE = zd1211b.o
endif
ifeq ($(ZD1211REV_B),0)
MODULE = zd1211.o
endif

OBJECTS=$(SRC_DIR)/zd1205.o
$(SRC_DIR)/zdasocsvc.o
$(SRC_DIR)/zdauthreq.o
$(SRC_DIR)/zdauthrsp.o
$(SRC_DIR)/zdmmrx.o
$(SRC_DIR)/zdshared.o
$(SRC_DIR)/zdhci.o
$(SRC_DIR)/zdglobal.o
$(SRC_DIR)/zdencrypt.o
$(SRC_DIR)/zdpmfilter.o
$(SRC_DIR)/zdpsmon.o
$(SRC_DIR)/zdsynch.o
$(SRC_DIR)/zdbuf.o
$(SRC_DIR)/zd1205_proc.o
$(SRC_DIR)/zdhw.o
$(SRC_DIR)/zddebug.o
$(SRC_DIR)/zdtkipseed.o
$(SRC_DIR)/zdmic.o
$(SRC_DIR)/zddebug2.o
$(SRC_DIR)/zdusb.o
OBJECTS += $(SRC_DIR)/zd1211.o

CFLAGS=-O -Wall -Wstrict-prototypes -pipe #-Wa,-a,-ad -g

ifdef CONFIG_MODVERSIONS
CFLAGS += -DMODVERSIONS -include $(KERNEL_SOURCE)/include/linux/modversions.h #kernel 2.4
endif

ifndef CONFIG_FRAME_POINTER
CFLAGS += -fomit-frame-pointer
endif

ifdef CONFIG_SMP
CFLAGS += -D__SMP__ -DSMP
endif

CFLAGS += -DZDCONF_WE_STAT_SUPPORT=1
CFLAGS += -DHOST_IF_USB
CFLAGS += -DAMAC
CFLAGS += -DGCCK
CFLAGS += -DOFDM
CFLAGS += -DHOSTAPD_SUPPORT
CFLAGS += -DUSE_EP4_SET_REG
CFLAGS += -DDOWNLOADFIRMWARE
CFLAGS += -DfTX_GAIN_OFDM=0
CFLAGS += -DfNEW_CODE_MAP=1
CFLAGS += -DfWRITE_WORD_REG=1
CFLAGS += -DfREAD_MUL_REG=1
CFLAGS += -DZDCONF_MENUDBG
CFLAGS += -DZDCONF_APDBG
ifeq ($(ZD1211REV_B),1)
CFLAGS += -DZD1211B
endif
ifeq ($(ZD1211REV_B),0)
CFLAGS += -DZD1211
endif
CFLAGS += -DENHANCE_RX=1

ifndef ZD1211REV_B
all:
make both
else
all: $(MODULE)
endif

$(MODULE): $(OBJECTS)
$(LD) -static -r $(OBJECTS) -o $(MODULE)
chmod -x $(MODULE)

%.o: %.c
$(CC) -static $(CFLAGS) $(INCLUDES) $(DEFINES) $(DEBUG) -c $< -o $@

endif
both:
make clean
make ZD1211REV_B=0
make ZD1211REV_B=0 install
make clean
make ZD1211REV_B=1
make ZD1211REV_B=1 install

menuconfig:
sh scripts/Menuconfig

oldconfig:
@cp -f .oldconfig .config
@echo Default configuration is applied.
@echo Now, run make menuconfig to make custom configuration

inst:
make
make install



install: all
mkdir -p $(MODPATH)/net
# mkdir -p /etc/zd1211
cp $(MODULE) $(MODPATH)/net
depmod -a

debug:
gcc -o apdbg apdbg.c
chmod +x apdbg
cp ./apdbg /sbin/apdbg
make -C Menudbg
mv Menudbg/menudbg .
chmod +x menudbg
cp ./menudbg /sbin

clean:
rm -rf .tmp_versions .*.cmd *.ko *.mod.c *.mod.o *.o $(SRC_DIR)/*.o $(SRC_DIR)/.*.o.cmd menudbg apdbg

밤새 Makefile만 쳐다 보다 수정할만한곳은 수정하고 송구스럽게도 이렇게

Makefile을 올립니다..문제일만한 부분 지적해주시면 감사하겠습니다 ㅜ_ㅜ

고현철

2006.05.30 22:34:45
*.117.46.252

옵션이 이것 말고도 sub directory에 있을 듯 한데요....

고현철

2006.05.30 23:39:46
*.117.46.252

arm에서는 패치가 있어야 하는 듯 한데.....저도 에러가 나네요.
v43사이트에 있는것요.

컴파일러 버전차이인지 좀 애매하네요.

고현철

2006.05.30 23:43:37
*.117.46.252

자료실에 올려놨습니다. aesop용

이용휴

2006.05.31 10:58:10
*.240.203.122

옙감사욤...ㅠㅠ
List of Articles
번호 제목 글쓴이 날짜sort 조회 수

사용자 로그인