Schreibe ich ./configure falsch ?

Nimm doch einen einen Editor deiner Wahl mit dem du dich auskennst.
 
Da bin ich wieder :winke:,

also habe die Makefile nun mit "Kate" umgeändert.

Dann nochmal im "Konqueror" anzeigen lassen, und das ganze sieht nun so aus

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

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

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

# if the kernel is 2.6.x, turn on this
KERN_26=y

#KERNEL_SOURCE=$(MODPATH)/source
KERNEL_SOURCE=/usr/src/linux

# set to 1 for zd1211b
ZD1211REV_B=0
----------

habe den unteren Teil weggelassen damit das posting nicht zu land wird.

Dann bin ich wieder in meien Konsole reingegangen und habe mich wieder mittels "su" also root angemeldet und bin wieder in das Verzeichnis gegangen wo sich die Makefile befindet. Also wie folgt.

----------
linux:/home/mike/temp2/zd1211-driver-r59 # make
/lib/modules/2.6.13-15.8-default/build
/home/mike/temp2/zd1211-driver-r59
-I/home/mike/temp2/zd1211-driver-r59/src/include -fomit-frame-pointer -O2 -Wall -Wstrict-prototypes -pipe -DZDCONF_WE_STAT_SUPPORT=1 -DHOST_IF_USB -DAMAC -DGCCK -DOFDM -DHOSTAPD_SUPPORT -DUSE_EP4_SET_REG -DDOWNLOADFIRMWARE -DfTX_GAIN_OFDM=0 -DfNEW_CODE_MAP=1 -DfWRITE_WORD_REG=1 -DfREAD_MUL_REG=1 -DENHANCE_RX=1 -DZD1211
src/zd1205.o src/zdasocsvc.o src/zdauthreq.o src/zdauthrsp.o src/zdmmrx.o src/zdshared.o src/zdhci.o src/zdglobal.o src/zdencrypt.o src/zdpmfilter.o src/zdpsmon.o src/zdsynch.o src/zdbuf.o src/zd1205_proc.o src/zdhw.o src/zddebug.o src/zdtkipseed.o src/zdmic.o src/zdusb.o src/zd1211.o
make -C /lib/modules/2.6.13-15.8-default/build SUBDIRS=/home/mike/temp2/zd1211-driver-r59 modules
make[1]: Entering directory `/usr/src/linux-2.6.13-15.8-obj/i386/default'
make[1]: *** Keine Regel, um »modules« zu erstellen. Schluss.
make[1]: Leaving directory `/usr/src/linux-2.6.13-15.8-obj/i386/default'
make: *** [all] Fehler 2
linux:/home/mike/temp2/zd1211-driver-r59 #
----------

So nun habe ich doch wieder den gleichen Fehler oder? Ich denke mal zumindest das es der gleiche Fehler ist.

Mal ganz ehrlich stelle ich mich den jetzt zu doof an, bin offen für alle ehrliche Meinungen, oder kann ich nichts dafür. Das würde ich nur mal gerne wissen um meine neugier zu befriedigen.

Gruß Mike
 
Ich wusste doch da war was, jetzt fiels mir wieder ein:

werde root, kopiere /boot/config-2.6.XX nach /usr/src/linux und machste

make cloneconfig
make prepare

Dann sollte der makeaufruf des ZD1211 fehlerfrei durchlaufen.

HTH
 
Na habt ihr mich schon vermist,

also ich würde ja gerne sagen das, daß Problem behoben ist, aber leider ist es das nicht.

Also bin wie folgt vorgegangen habe mich beim starten als root angemeldet und bin dann hin und habe aus dem Verzeichnis "boot" die Datei "config-2.6.13-15.8-default" nach "/usr/src/linux" und auch nach "/usr/src/linux-2.6.13-15" hinkopiert.

Und habe dann das "make cloneconfig" und danach dann "make prepare" ausgeführt, das hat er auch alles ohne Probleme ausgeführt.

Aber leider dann in dem Verzeichnis wo der Treiber ist
----------
linux:/home/mike/temp2/zd1211-driver-r59 # make
/lib/modules/2.6.13-15.8-default/build
/home/mike/temp2/zd1211-driver-r59
-I/home/mike/temp2/zd1211-driver-r59/src/include -fomit-frame-pointer -O2 -Wall -Wstrict-prototypes -pipe -DZDCONF_WE_STAT_SUPPORT=1 -DHOST_IF_USB -DAMAC -DGCCK -DOFDM -DHOSTAPD_SUPPORT -DUSE_EP4_SET_REG -DDOWNLOADFIRMWARE -DfTX_GAIN_OFDM=0 -DfNEW_CODE_MAP=1 -DfWRITE_WORD_REG=1 -DfREAD_MUL_REG=1 -DENHANCE_RX=1 -DZD1211
src/zd1205.o src/zdasocsvc.o src/zdauthreq.o src/zdauthrsp.o src/zdmmrx.o src/zdshared.o src/zdhci.o src/zdglobal.o src/zdencrypt.o src/zdpmfilter.o src/zdpsmon.o src/zdsynch.o src/zdbuf.o src/zd1205_proc.o src/zdhw.o src/zddebug.o src/zdtkipseed.o src/zdmic.o src/zdusb.o src/zd1211.o
make -C /lib/modules/2.6.13-15.8-default/build SUBDIRS=/home/mike/temp2/zd1211-driver-r59 modules
make[1]: Entering directory `/usr/src/linux-2.6.13-15.8-obj/i386/default'
make[1]: *** Keine Regel, um »modules« zu erstellen. Schluss.
make[1]: Leaving directory `/usr/src/linux-2.6.13-15.8-obj/i386/default'
make: *** [all] Fehler 2
linux:/home/mike/temp2/zd1211-driver-r59 #
----------

Leider das gleiche Spiel, dann habe ich mir gedacht ok gehst du die ganze prozedur nochmal durch für das verzeichnis wo er immer reinschaut und den Fehler macht.

Also gesagt getan bin ich in das Verzeichnis "/usr/src/linux-2.6.13-15.8-obj/i386/default" reingegangen und veruschte es nochmal. Dann sagte er mir folgendes
----------
linux:/usr/src/linux-2.6.13-15.8-obj/i386/default # make cloneconfig
make: *** Keine Regel, um »cloneconfig« zu erstellen. Schluss.
linux:/usr/src/linux-2.6.13-15.8-obj/i386/default #
----------

So und nun stehe bzw. poste ich mal wieder schön, sagt mal was fehlt mir eigentlich das es nicht klappt ist es ein Programm oder irgendeine Datei oder ist es einfach Grips.


Gruß Mike
 
Hallo Please,

Bâshgob hätte dir vielleicht sagen sollen, dass die config im /usr/src/linux - Verzeichnis nur .config heißen darf. Dann klappt's auch mit make cloneconfig un dem Rest.

greetz, Ralle
 
Nabend lange nicht gesehen Leute,

also ich habe es jetzt so gemacht wie es mir gesagt wurde.

Habe aus dem Verzeichnis "boot" die Datei "config-2.6.13-15.8-default" rauskopiert in das Verzeichnis "/usr/src/Linux".

Dann bin ich in die Konsole gegangen habe mich per "su" als root angemeldet und bin von dort aus wieder in das Verzeichnis "usr/src/Linux" reingesprungen.

Dann wie folgt gab ich "make cloneconfig" ein, es passierte eine ganze menge, das werde ich aus Platz gründen jetzt mal wegfallen lassen.

Danach war dann "make prepare" dran da gab er mir dann folgendes aus.
----------
linux:/usr/src/linux-2.6.13-15 # make prepare
SPLIT include/linux/autoconf.h -> include/config/*
make[1]: »arch/i386/kernel/asm-offsets.s« ist bereits aktualisiert.
----------

Auch ohne Fehler wie ich festellen würde.

Dann wieder ins Verzeichnis meines Treibers was da lautet "/home/mike/temp2/zd1211-driver-r59"
und nochmal ein make versucht.

Und was sehen wir.

Na

Na

Wir sehen das ich nicht mit Linux umgehen kann, also langsam bin ich zu dem entschluss gekommen das, daß mein Fehler sein muss, aber wo mache ich immer den Fehler, Pakete müßte ich alle installiert haben, ist es vieleicht das falsche Verzeichnis wo ich den Treiber abgelegt habe?

Und was ich auch komisch finde das er immer in dem Verzeichnis
----------
"make[1]: Entering directory `/usr/src/linux-2.6.13-15.8-obj/i386/default'
make[1]: *** Keine Regel, um »modules« zu erstellen. Schluss.
make[1]: Leaving directory `/usr/src/linux-2.6.13-15.8-obj/i386/default'
----------

am suchen oder tuen ist aber in das Verzeichnis kopiere ich die ".config" doch gar nicht rein.


Naja auf ein neues, ich möchte mich im vorraus schon mal bedanken für die freundliche Hilfe die ich hier bekomme. Und ich hoffe ich nerve nicht zuviel.

P.S.: Jetzt werde ich erst mal ein Alkoholfreies trinken.


Gruß Mike
 
Please schrieb:
----------
"make[1]: Entering directory `/usr/src/linux-2.6.13-15.8-obj/i386/default'
make[1]: *** Keine Regel, um »modules« zu erstellen. Schluss.
make[1]: Leaving directory `/usr/src/linux-2.6.13-15.8-obj/i386/default'
----------

Ist jemandem schon mal irgendwann ein kernel über den Weg gelaufen, der ein Verzeichis i386/default hatte? Ich meine ohne arch/ davor? Mir jedenfalls nicht.

Poste mal bitte das makefile deines Treibers.
 
Nabend,

bitte sehr einmal Makefile pur
----------#
# .zd1211 - USB2.0 802.11b/g driver for Zydas ZD1211 chipsets
#
#
#

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

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

# if the kernel is 2.6.x, turn on this
KERN_26=y

#KERNEL_SOURCE=$(MODPATH)/source
KERNEL_SOURCE=/usr/src/linux

# set to 1 for zd1211b
ZD1211REV_B=0

SRC_DIR=src
DEFINES=-D__KERNEL__ -DMODULE=1



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 := $(MODPATH)/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
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)/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)/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
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 ZD1211REV_B=0
make install ZD1211REV_B=0
make clean
make ZD1211REV_B=1
make install ZD1211REV_B=1

menuconfig:
/bin/sh scripts/Menuconfig config.in
inst:
make
make install



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

#for apdbg
gcc -o apdbg apdbg.c
chmod +x apdbg
cp ./apdbg /sbin/apdbg

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

Sorry wenn die Seite jetzt voll ist aber ich habe leider keine ahnung wie ich das kleiner hätte darstellen können.


Gruß Mike
 
Du hättest es als Anhang ranhängen können, oder es in Codetags schreiben können.
 
Please schrieb:
KDIR := $(MODPATH)/build
...
$(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules

Wer schreibt solche makefiles? :think: Diese Verzeichnisphilosophie kenn ich nicht.

Mach mal aus der "KDIR := "-Zeile:
KDIR := /usr/src/linux

dann sollte es, denke ich, gehen.

Please schrieb:
Sorry wenn die Seite jetzt voll ist aber ich habe leider keine ahnung wie ich das kleiner hätte darstellen können.

In dem du den makefile-Inhalt in (CODE) (/CODE) schreibst (Nur halt eckige Klammern). Schau mal beim Erweiterten Editiern nach, da gibt's so einem Raute-Button.
 
Freu,FreuFreu,FreuFreu,FreuFreu,FreuFreu,FreuFreu,FreuFreu,FreuFreu,FreuFreu,

ich kann es nicht glaube es funktioniert. :respekt:

Wenn IHR vor mir stehen würdet ich würde niederknieen.

Vielen, vielen Dank an alle die mir geholfen haben mit dem entscheidenen Tip von SkyFlash hat es jetzt funktioniert.

Viele liebe grüße Mike


:)) :D :))
 
Prima.

BTW: Auf meinem 2.4.32 lief make ohne Fehler durch. Einzige Anpassung:
Code:
# if the kernel is 2.6.x, turn on this
KERN_26=n

#KERNEL_SOURCE=$(MODPATH)/source
KERNEL_SOURCE=/usr/src/linux

Strange das.
 
WLAN USB Stick

Hallo,
hast Du es schon geschafft?
Ich stehe gerade vor dem gleichen Problem :-)

Wenn ja, was waren die nächsten Schritte?

Danke!
Gruß
MR-Shimano
 
WLAN USB Stick

Hallo slasher,
ich bin an der Stelle make cloneconfig

Habe bisher die Sourcen installiert, die .config über kopieren und umbennen in usr/scr/linux erstellt und erhalte den Fehler:
dhcppc1:/usr/src/linux # make cloneconfig
/usr/src/linux-2.6.13-15.10/scripts/gcc-version.sh: line 11: gcc: command not fo und
/usr/src/linux-2.6.13-15.10/scripts/gcc-version.sh: line 12: gcc: command not fo und
HOSTCC scripts/basic/fixdep
/bin/sh: gcc: command not found
make[1]: *** [scripts/basic/fixdep] Fehler 127
make: *** [scripts_basic] Fehler 2

Ach ja: Respekt an alle bisherigen Schreiber. Das ist die bisher beste Anleitung, wie man einen Treiber installiert, die ich in meiner zugegeben jungen Linux Zeit gefunden habe. Ihr solltet evtl. ein Buch daraus machen. Ich würd's kaufen!

Gruß
Mr_Shimano
 
Zuletzt bearbeitet:
SkyFlash schrieb:
Code:
KDIR := $(MODPATH)/build
...
$(MAKE) -C $(KDIR) SUBDIRS=$(PWD) modules
Wer schreibt solche makefiles? :think: Diese Verzeichnisphilosophie kenn ich nicht.

Mach mal aus der "KDIR := "-Zeile:
KDIR := /usr/src/linux
Wenn Du Dir den Vanilla-Kernel anschaust, siehst Du, dass obige Verzeichnisstruktur genau die ist, die vom Kernel-Team vorgesehen ist - vorausgesetzt, dass 'MODPATH=/lib/modules/`uname -r`

Dann brauchst Du auch dieses ganze Gedoense von wegen '/usr/src/linux' etc nicht.

Ein gutes Makefile, dass ein Modul baut, sollte genau so aufgebaut sein.
Es scheint mir eher, dass SuSE die Verzeichnisstruktur durcheinandergebracht hat, da bei Please aus 'KDIR' dieser komische Pfad wurde.
 
Danke slasher!
Gcc habe ich installiert. make cloneconfig, make prepare hat er gemacht (mit ein paar warnungen, dich ich nicht verstanden und missachtet habe).
In der Hardware-Systeminfo zeigt er unter USB nun den Treiber an.
Gemäß der Anleitung von http://zd1211.ath.cx/ mache ch nun

modprobe -v zd1211
insmod /lib/modules/2.6.13-15.10-default/net/zd1211.ko
FATAL: Error inserting zd1211 (/lib/modules/2.6.13-15.10-default/net/zd1211.ko): Invalid module format

Mit einer mir wieder nichtssagenden Fehlermeldung.
Was stimmt den an dem module format nicht? Wie ändere ich das?

Merci!
 
du hast anscheinend gcc in der falschen Version installiert. Da hilft dann nur Neukompilierung des Kernels mit der aktuell installierten GCC oder du installierst die GCC, mit der der aktuelle Kernel kompiliert wurde.
 

Ähnliche Themen

Fritz!WLAN USB Stick und Suse 11.0

SuSE 10.1: Railink Chipsatz Probleme

Zurück
Oben