ZyDAS usb 무선랜 드라이버 설치를 도와주세요.

fun2much의 이미지


안녕하세요.
리눅스 처음 만져보고 있습니다.

USB 무선랜카드를 설치하다가 막혔는데 아는 것이 없으니 어떻게 할 수가 없네요. 도와주시면 감사하겠습니다.

일단, EdiMax라는 대만 회사의 b,g 지원 usb 무선랜카드입니다.
이 랜카드가 ZyDAS라는 역시 대만 회사에서 만든 ZD1211이라는 칩셋을 쓰나봅니다.
ZyDAS사의 홈페이지에 가서 리눅스 드라이버를 받았습니다.

유저 가이드를 보니 리눅스 “kernel source tree”의 경로와 커널 버전에 따라서 Makefile을 수정하면 된다고 합니다.

아래는 유저 가이드의 해당 부분 원문입니다.
=====================================================
2.2 Build and install the package:
The package contains drivers for ZD1211 and ZD1211B. If you doesn’t have specified request, both of them will be installed.
Under the extracted directory, there is a Makefile in it. Because our driver can support for kernel 2.4 and kernel 2.6, there are two sets of rule in the Makefile. One has to modify the Makefile according to the path of “kernel source tree” and the version of the kernel in your system. In the Makefile, you may see the following statements,
# if the kernel is 2.6.x, turn on this
#KERN_26=y
#KERNEL_SOURCE=/usr/src/linux-2.6.7
# if the kernel is 2.4.x, turn on this
KERN_24=y
KERNEL_SOURCE=/usr/src/linux-2.4.20-8
If you want to build the kernel under the kernel of 2.4.x, one has to let the variable KERN_24=y and comment the KERN_26=y like that as the example above and modify the variable KERNEL_SOURCE to the path which you install the kernel source. After doing these things, one just need to type the “make”, and the driver module will be generated and installed.
======================================================

그래서 Makefile을 열어보니 다음과 같았습니다.

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

CC=gcc
CPP=g++
LD=ld
rM=rm -f -r

# if the kernel is 2.6.x, trun on this
KERN_26=y
KERNEL_SOURCE=/usr/src/linux-2.6.9

# 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

KERNRELEASE := $(shell uname -r;)
MODPATH := /lib/modules/$(KERNRELEASE)

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
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

...
...
...
아래 생략
=======================================================

저는 SUSE 10.0을 깔았는데, 이 것이 커널 2.6인 것으로 알고 있습니다.
그래서 그냥 Make 했더니 오류가 나고 되지를 않습니다.

리눅스 “kernel source tree”의 경로라는 것을 수정하지 않아서 그런가 싶기도 합니다.
Makefile의 내용 중에 " KERNEL_SOURCE=/usr/src/linux-2.6.9 "에 해당하는 디렉토리가 제 컴퓨터에 없습니다.
비슷한 폴더가 있는가 찾아봐도 찾을 수가 없고요.

엊그제 NS-2는 그냥 한 번에 깔리던데, 이건 안 되는군요. ㅡ_-
제가 어떻게 해야 하나요.
도와주시면 정말 감사하겠습니다.

atie의 이미지

저는 http://zd1211.ath.cx/ 이 곳에서 소스를 받아 우분투에서 make, sudo make install해서 쓰고 있습니다. 가지고 있는 제품의 벤더, 제품 ID가 zdusb.c에 없으면 추가를 하여 make를 하시면 됩니다. (제가 그렇게 하고 있습니다.)
----
I paint objects as I think them, not as I see them.
Ubuntu Dapper user / Ubuntu KoreanTeam / Lanuchpad karma 3940

----
I paint objects as I think them, not as I see them.
atie's minipage

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.