Forum: Drivrutiner i Linux

Forum huvudsida -> Mjukvara -> Drivrutiner i Linux

Sidor: 1 2

Till botten

jockepockee 01:41 - 2:a Mars 2007 | Post #1
Medlem
Inlägg: 192


Skicka PM
ok jag har laddat ner en drivrutin till linux kernel 2.4/2.6 men när jag ska kompilera drivrutinen så står det:
Ingen regel för att skapa målet 'modules' Stannar.
vad är de för fel?

Jag har suse linux 10.1 kernel 2.6.16 funkar de?

här är sidan jag laddade ner drivrutinen från:
http://www.jensenscandinavia.com/download.asp?language=Swedish&id=AL6554

de är v2 jag har

-------------------------





Independence 01:56 - 2:a Mars 2007 | Post #2
Administratör
Inlägg: 1800


Skicka PM
Det finns inget "mål" som heter 'modules' i makefilen. Du anger nog fel kommando. Men eftersom du inte berättar vilket kommando du använde, eller vilka instruktioner du följer så kan jag inte göra ett smack för att hjälpa dig :/

-------------------------

Vi är riddarna som säger fiskbulle!





jockepockee 02:01 - 2:a Mars 2007 | Post #3
Medlem
Inlägg: 192


Skicka PM
jag går till mappen som källkod å makefilen ligger i med kommadot "cd" sen skriver jag bara make för att kompilera.
de finns en hjälp med i drivritinen som jag har följt exakt som de som står.

-------------------------



Senast redigerad 02:02 - 2:a Mars 2007


Independence 02:09 - 2:a Mars 2007 | Post #4
Administratör
Inlägg: 1800


Skicka PM
Exakt vad står det i hjälpen då?

-------------------------

Vi är riddarna som säger fiskbulle!





jockepockee 02:12 - 2:a Mars 2007 | Post #5
Medlem
Inlägg: 192


Skicka PM
ladda hem å läs den, jag orkar inte skriva upp allt som står

-------------------------





Independence 02:19 - 2:a Mars 2007 | Post #6
Administratör
Inlägg: 1800


Skicka PM
Hur tror du att du ska få någon hjälp med den där sortens tillmötesgående egentligen?

Edit:
Försökte komma åt webbsidan du angav, men får:

Microsoft OLE DB Provider for ODBC Drivers error '80004005'

[Microsoft][ODBC SQL Server Driver][DBNETLIB]SQL Server does not exist or access denied.

/download.asp, line 29


Men bara du copy-paste:ar de relevanta delarna ur readme:n/motsvarande så kan vi nog hjälpa dig sen

-------------------------

Vi är riddarna som säger fiskbulle!



Senast redigerad 02:24 - 2:a Mars 2007


HärJ 02:24 - 2:a Mars 2007 | Post #7
Moderator
Inlägg: 1198


Skicka PM
    Citat av jockepockee:
ladda hem å läs den, jag orkar inte skriva upp allt som står

hört talas om copy-paste?
undrar samma sak som indy btw...

-------------------------
Tänk om jag vore en skalärprodukt!



jockepockee 02:27 - 2:a Mars 2007 | Post #8
Medlem
Inlägg: 192


Skicka PM
ok här är länken till userguide

http://www.upshack.com/uploaded-files/200703/Linux_zd1211_UserGuide.doc

EDIT:

1.1 Requirements:
1.    Kernel 2.4.20+ . The driver had successfully built in Redhat9, Fedora Core2,3 ,and Debian 3.1. You can easily build it without any problem
2.    To build zd1211 you will need: Configured kernel source code for the kernel you are running. Ideally, Configured means that you have at least run 'make config', 'make menuconfig', or 'make xconfig'. If your platform is not SMP system, please don't config SMP supported, because when module loaded, this will make unresolved symbol.
3.    Make sure your kernel usb 2.0 support is running
-    Use lsmod to check "ehci-hcd" module is loaded.
-    If host is not support usb 2.0, zd1211 will run under pure-b mode.


2.2 Build and install the driver
The package contains drivers for ZD1211 and ZD1211B. If you doesnEUR(TM)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 EURoekernel source treeEUR 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 set 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 EURoemakeEUR, and the driver module will be generated and installed.

och här är make filen:

[SOURCE]#
# .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

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


[/SOURCE]

-------------------------



Senast redigerad 02:37 - 2:a Mars 2007


Independence 02:40 - 2:a Mars 2007 | Post #9
Administratör
Inlägg: 1800


Skicka PM
,,r du säker på att du har källkoden till kärnan, samt att du har konfigurerat den med make menuconfig motsvarande? Suse kommer som standard med en färdigbyggd kärna och det verkar inte räcka i det här fallet.


Bra engelska i dokumentationen också, verkar som de outsourceat det till indien eller nåt:

If your platform is not SMP system, please don't config SMP supported, because when module loaded, this will make unresolved symbol.


-------------------------

Vi är riddarna som säger fiskbulle!





jockepockee 03:13 - 2:a Mars 2007 | Post #10
Medlem
Inlägg: 192


Skicka PM

samt att du har konfigurerat den med make menuconfig motsvarande?


där sa du nåt! kanske måste konfa den innan de går å kompliara drivrutinen. ska testa!

-------------------------





jockepockee 03:47 - 2:a Mars 2007 | Post #11
Medlem
Inlägg: 192


Skicka PM
när jag ska konfa kärnan så står de att "gcc" inte är ett giltigt kommando Smiley

-------------------------





Independence 03:54 - 2:a Mars 2007 | Post #12
Administratör
Inlägg: 1800


Skicka PM
Installera build essentials eller motsvarande

-------------------------

Vi är riddarna som säger fiskbulle!





jockepockee 04:02 - 2:a Mars 2007 | Post #13
Medlem
Inlägg: 192


Skicka PM
hur gör man de då?

-------------------------





Independence 05:55 - 2:a Mars 2007 | Post #14
Administratör
Inlägg: 1800


Skicka PM
Genom suses pakethanteringssystem, vilket de har och hur man använder det har jag ingen aning om

-------------------------

Vi är riddarna som säger fiskbulle!





FunkyChicken 17:18 - 2:a Mars 2007 | Post #15
Nyhetsredaktör
Inlägg: 800


Skicka PM
One has to modify the Makefile according to the path of EURoekernel source treeEUR and the version of the kernel in your system

Gjort detta?




jockepockee 18:36 - 2:a Mars 2007 | Post #16
Medlem
Inlägg: 192


Skicka PM
    Citat av FunkyChicken:
One has to modify the Makefile according to the path of EURoekernel source treeEUR and the version of the kernel in your system

Gjort detta?


ja har gjort de.

Citat av Independence

Genom suses pakethanteringssystem, vilket de har och hur man använder det har jag ingen aning om


ok jag är totalt nybörjare på linux system så jag undra då:
vad är ett pakethanteringssystem och vad är de till för?

-------------------------





Independence 18:46 - 2:a Mars 2007 | Post #17
Administratör
Inlägg: 1800


Skicka PM
Programmet/programuppsättningen som du använder för att installera nya program. Debian använder apt, gentoo portage, osv. Kanske var det suse som hade yum?

-------------------------

Vi är riddarna som säger fiskbulle!





HärJ 19:37 - 2:a Mars 2007 | Post #18
Moderator
Inlägg: 1198


Skicka PM
    Citat av Independence:
Programmet/programuppsättningen som du använder för att installera nya program. Debian använder apt, gentoo portage, osv. Kanske var det suse som hade yum?

för att lägga in lite så använder redhat yum. Tror suse använder yast eller nåt liknande.

-------------------------
Tänk om jag vore en skalärprodukt!



jockepockee 20:27 - 2:a Mars 2007 | Post #19
Medlem
Inlägg: 192


Skicka PM
    Citat av HärJ:
Citat av Independence:
Programmet/programuppsättningen som du använder för att installera nya program. Debian använder apt, gentoo portage, osv. Kanske var det suse som hade yum?

för att lägga in lite så använder redhat yum. Tror suse använder yast eller nåt liknande.


TACK!!! nu har jag fixat gcc

men när man ska konfa kärnan vad ska man göra när man har skrivit "make menuconfig"?

-------------------------





ozamosi 20:50 - 2:a Mars 2007 | Post #20
Administratör
Inlägg: 1129


Skicka PM
På det minst aroganta sättet som är möjligt skulle jag vilja be dig ta en åtminstone ytlig titt på http://www.catb.org/~esr/faqs/smart-questions.html

-------------------------
Ljusblå



jockepockee 20:55 - 2:a Mars 2007 | Post #21
Medlem
Inlägg: 192


Skicka PM
jippi nu har jag (inte) lärt mig hur jag ska göra!

-------------------------





Independence 21:06 - 2:a Mars 2007 | Post #22
Administratör
Inlägg: 1800


Skicka PM
När du skrivit make menuconfig ska du välja vilka saker ur kärnan du vill bygga, förslagsvis saker för att få din hårdvara att fungera osv.

-------------------------

Vi är riddarna som säger fiskbulle!





ozamosi 21:12 - 2:a Mars 2007 | Post #23
Administratör
Inlägg: 1129


Skicka PM
Fast det är troligen fel sätt, eftersom man (väl?) riskerar att få inkompatibilieter med kärnan om man menuconfig:ar fel. Rätt sätt är att läsa Suses dokumentation.

-------------------------
Ljusblå



Independence 21:16 - 2:a Mars 2007 | Post #24
Administratör
Inlägg: 1800


Skicka PM
    Citat av ozamosi:
Fast det är troligen fel sätt, eftersom man (väl?) riskerar att få inkompatibilieter med kärnan om man menuconfig:ar fel. Rätt sätt är att läsa Suses dokumentation.


,,ven om man läser Suses dokumentation så måste man välja saker i menuconfig, så jag tror knappast att det är fel att välja saker...

-------------------------

Vi är riddarna som säger fiskbulle!





ozamosi 21:31 - 2:a Mars 2007 | Post #25
Administratör
Inlägg: 1129


Skicka PM
Det tror jag inte - det måste väl finnas headers till deras kärna?

-------------------------
Ljusblå



Sidor: 1 2

Forum huvudsida -> Mjukvara -> Drivrutiner i Linux
Atom feed

Du får inte posta i den här tråden | Till toppen