#1 25. Mai 2011 Guten Tag, Ich will die Treiber für meinen RT3062 WLAN Chip für ein Linux System kompilieren. Ich brauch dazu ja die *.ko Dateien, damit ich diese dann nach /lib/..... kopieren kann, damit der Kernel diese erkennt. Vom Hersteller kann man nur den source code runterladen und das Makefile von denen kompiliert mir nur die Object Dateien. Wie muss ich das Makefile ändern damit der mir dieses KernelObject rausspuckt? Hier mal der source: MediaTek - Website Announcement Und hier das Makefile direkt: Spoiler Code: RT28xx_MODE = STA TARGET = LINUX CHIPSET = 3562 #OS ABL - YES or NO OSABL = NO ifneq ($(TARGET),THREADX) #RT28xx_DIR = home directory of RT28xx source code RT28xx_DIR = $(shell pwd) endif RTMP_SRC_DIR = $(RT28xx_DIR)/RT$(CHIPSET) #PLATFORM: Target platform PLATFORM = PC #PLATFORM = 5VT #PLATFORM = IKANOS_V160 #PLATFORM = IKANOS_V180 #PLATFORM = SIGMA #PLATFORM = SIGMA_8622 #PLATFORM = INIC #PLATFORM = STAR #PLATFORM = IXP #PLATFORM = INF_TWINPASS #PLATFORM = INF_DANUBE #PLATFORM = INF_AR9 #PLATFORM = INF_VR9 #PLATFORM = BRCM_6358 #PLATFORM = INF_AMAZON_SE #PLATFORM = CAVM_OCTEON #PLATFORM = CMPC #PLATFORM = RALINK_2880 #PLATFORM = RALINK_3052 #PLATFORM = SMDK #PLATFORM = RMI #PLATFORM = RMI_64 #PLATFORM = KODAK_DC #PLATFORM = DM6446 #PLATFORM = FREESCALE8377 #PLATFORM = BL2348 #PLATFORM = BLUBB #PLATFORM = BLPMP #PLATFORM = MT85XX #PLATFORM = NXP_TV550 #PLATFORM = MVL5 #RELEASE Package RELEASE = DPO ifeq ($(TARGET),LINUX) MAKE = make endif ifeq ($(TARGET), UCOS) MAKE = make endif ifeq ($(TARGET),THREADX) MAKE = gmake endif ifeq ($(PLATFORM),5VT) LINUX_SRC = /project/stable/5vt/ralink-2860-sdk/linux-2.6.17 CROSS_COMPILE = /opt/crosstool/uClibc_v5te_le_gcc_4_1_1/bin/arm-linux- endif ifeq ($(PLATFORM),IKANOS_V160) LINUX_SRC = /home/sample/projects/LX_2618_RG_5_3_00r4_SRC/linux-2.6.18 CROSS_COMPILE = mips-linux- endif ifeq ($(PLATFORM),IKANOS_V180) LINUX_SRC = /home/sample/projects/LX_BSP_VX180_5_4_0r1_ALPHA_26DEC07/linux-2.6.18 CROSS_COMPILE = mips-linux- endif ifeq ($(PLATFORM),SIGMA) LINUX_SRC = /root/sigma/smp86xx_kernel_source_2.7.172.0/linux-2.6.15 CROSS_COMPILE = /root/sigma/smp86xx_toolchain_2.7.172.0/build_mipsel_nofpu/staging_dir/bin/mipsel-linux- endif ifeq ($(PLATFORM),SIGMA_8622) LINUX_SRC = /home/snowpin/armutils_2.5.120.1/build_arm/linux-2.4.22-em86xx CROSS_COMPILE = /home/snowpin/armutils_2.5.120.1/toolchain/bin/arm-elf- CROSS_COMPILE_INCLUDE = /home/snowpin/armutils_2.5.120.1/toolchain/lib/gcc-lib/arm-elf/2.95.3 endif ifeq ($(PLATFORM),INIC) UCOS_SRC = /opt/uCOS/iNIC_rt2880 CROSS_COMPILE = /usr/bin/mipsel-linux- endif ifeq ($(PLATFORM),STAR) LINUX_SRC = /opt/star/kernel/linux-2.4.27-star CROSS_COMPILE = /opt/star/tools/arm-linux/bin/arm-linux- endif ifeq ($(PLATFORM),RMI) LINUX_SRC = /opt/rmi/1.7.0/linux/src/ CROSS_COMPILE = /opt/rmi/1.7.0/mipscross/nptl/bin/mips64-unknown-linux-gnu- endif ifeq ($(PLATFORM),RMI_64) LINUX_SRC = /opt/rmi/1.7.0/linux_64/src/ CROSS_COMPILE = /opt/rmi/1.7.0/mipscross/nptl/bin/mips64-unknown-linux-gnu- endif ifeq ($(PLATFORM), RALINK_2880) LINUX_SRC = /project/stable/RT288x/RT288x_SDK/source/linux-2.4.x CROSS_COMPILE = /opt/buildroot-gdb/bin/mipsel-linux- endif ifeq ($(PLATFORM),RALINK_3052) LINUX_SRC = /home/snowpin/RALINK_SDK_v3410/RT288x_SDK/source/linux-2.6.21.x CROSS_COMPILE = /opt/buildroot-gcc342/bin/mipsel-linux-uclibc- endif ifeq ($(PLATFORM),FREESCALE8377) LINUX_SRC = /opt/ltib-mpc8377_rds-20090309/rpm/BUILD/linux-2.6.25 CROSS_COMPILE = /opt/freescale/usr/local/gcc-4.2.187-eglibc-2.5.187/powerpc-linux-gnu/bin/powerpc-linux-gnu- endif ifeq ($(PLATFORM),BL2348) LINUX_SRC = /home/sample/Customers/BroadLight/bl234x-linux-2.6.21-small-v29 CROSS_COMPILE = mips-wrs-linux-gnu- endif ifeq ($(PLATFORM),BLUBB) LINUX_SRC = /home/sample/Customers/BroadLight/UBB/gmp20/linux-2.6.21-small CROSS_COMPILE = mips-wrs-linux-gnu- endif ifeq ($(PLATFORM),BLPMP) LINUX_SRC = /home/sample/Customers/BroadLight/UBB/pmp16/bl234x-linux-2.6.21-small-v30.2 CROSS_COMPILE = mips-wrs-linux-gnu- endif ifeq ($(PLATFORM),PC) # Linux 2.6 LINUX_SRC = /lib/modules/$(shell uname -r)/build # Linux 2.4 Change to your local setting #LINUX_SRC = /usr/src/linux-2.4 LINUX_SRC_MODULE = /lib/modules/$(shell uname -r)/kernel/drivers/net/wireless/ CROSS_COMPILE = endif ifeq ($(PLATFORM),IXP) LINUX_SRC = /project/stable/Gmtek/snapgear-uclibc/linux-2.6.x CROSS_COMPILE = arm-linux- endif ifeq ($(PLATFORM),INF_TWINPASS) # Linux 2.6 #LINUX_SRC = /lib/modules/$(shell uname -r)/build # Linux 2.4 Change to your local setting LINUX_SRC = /project/stable/twinpass/release/2.0.1/source/kernel/opensource/linux-2.4.31/ CROSS_COMPILE = mips-linux- endif ifeq ($(PLATFORM),INF_DANUBE) LINUX_SRC = /opt/danube/sdk/linux-2.6.16.x CROSS_COMPILE = mips-linux- ROOTDIR = /opt/danube/sdk export ROOTDIR endif ifeq ($(PLATFORM),INF_AR9) LINUX_SRC = /root/ar9/xR9_BSP1.2.2.0/source/kernel/opensource/linux-2.6.20/ CROSS_COMPILE = /root/ar9/ifx-lxdb26-1.0.2/gcc-3.4.4/toolchain-mips/bin/ endif ifeq ($(PLATFORM),INF_VR9) LINUX_SRC = /home/public/lantiq/VR9/UGW-4.2/build_dir/linux-ifxcpe_platform_vr9/linux-2.6.20.19 CROSS_COMPILE = /home/public/lantiq/VR9/UGW-4.2/staging_dir/toolchain-mips_gcc-3.4.6_uClibc-0.9.29/bin/mips-linux- endif ifeq ($(PLATFORM),BRCM_6358) LINUX_SRC = CROSS_COMPILE = endif ifeq ($(PLATFORM),INF_AMAZON_SE) # Linux 2.6 #LINUX_SRC = /lib/modules/$(shell uname -r)/build # Linux 2.4 Change to your local setting LINUX_SRC = /backup/ifx/3.6.2.2/source/kernel/opensource/linux-2.4.31 #CROSS_COMPILE = mips-linux- #LINUX_SRC = /project/Infineon/3.6.2.2/source/kernel/opensource/linux-2.4.31 CROSS_COMPILE = /opt/uclibc-toolchain/ifx-lxdb-1-2-3-external/gcc-3.3.6/toolchain-mips/R0208V35/mips-linux-uclibc/bin/ endif ifeq ($(PLATFORM),ST) LINUX_SRC = /opt/STM/STLinux-2.2/devkit/sources/kernel/linux0039 CROSS_COMPILE = /opt/STM/STLinux-2.2/devkit/sh4/bin/sh4-linux- ARCH := sh export ARCH endif ifeq ($(PLATFORM),CAVM_OCTEON) OCTEON_ROOT = /usr/local/Cavium_Networks/OCTEON-SDK LINUX_SRC = $(OCTEON_ROOT)/linux/kernel_2.6/linux CROSS_COMPILE = mips64-octeon-linux-gnu- endif ifeq ($(PLATFORM),CMPC) LINUX_SRC = /opt/fvt_11N_SDK_0807/fvt131x_SDK_11n/linux-2.6.17 CROSS_COMPILE = endif ifeq ($(PLATFORM),SMDK) LINUX_SRC = /home/bhushan/itcenter/may28/linux-2.6-samsung CROSS_COMPILE = /usr/local/arm/4.2.2-eabi/usr/bin/arm-linux- endif ifeq ($(PLATFORM),KODAK_DC) SKD_SRC = C:/SigmaTel/DC1250_SDK_v1-9/sdk CROSS_COMPILE = $(cc) endif ifeq ($(PLATFORM),DM6446) LINUX_SRC = /home/fonchi/work/soc/ti-davinci endif ifeq ($(PLATFORM),MT85XX) LINUX_SRC = /home/john/MTK/BDP_Linux/linux-2.6.27 CROSS_COMPILE = armv6z-mediatek-linux-gnueabi- endif ifeq ($(PLATFORM),NXP_TV550) LINUX_SRC = /data/tv550/kernel/linux-2.6.28.9 LINUX_SRC_MODULE = /data/tv550/kernel/linux-2.6.28.9/drivers/net/wireless CROSS_COMPILE = /opt/embeddedalley/nxp_tv550/bin/mipsel-linux- endif ifeq ($(PLATFORM),MVL5) LINUX_SRC = /home2/charlestu/AP-VT3426/linux-2.6.18 CROSS_COMPILE = /opt/montavista/pro/devkit/arm/v5t_le_mvl5/bin/arm_v5t_le- endif export OSABL RT28xx_DIR RT28xx_MODE LINUX_SRC CROSS_COMPILE CROSS_COMPILE_INCLUDE PLATFORM RELEASE CHIPSET RTMP_SRC_DIR LINUX_SRC_MODULE TARGET # The targets that may be used. PHONY += all build_tools test UCOS THREADX LINUX release prerelease clean uninstall install libwapi osabl ifeq ($(TARGET),THREADX) all: $(TARGET) else all: build_tools $(TARGET) endif build_tools: $(MAKE) -C tools $(RT28xx_DIR)/tools/bin2h test: $(MAKE) -C tools test UCOS: $(MAKE) -C os/ucos/ MODE=$(RT28xx_MODE) echo $(RT28xx_MODE) THREADX: $(MAKE) -C $(RT28xx_DIR)/os/Threadx -f $(RT28xx_DIR)/os/ThreadX/Makefile LINUX: ifneq (,$(findstring 2.4,$(LINUX_SRC))) ifeq ($(OSABL),YES) cp -f os/linux/Makefile.4.util $(RT28xx_DIR)/os/linux/Makefile $(MAKE) -C $(RT28xx_DIR)/os/linux/ endif cp -f os/linux/Makefile.4 $(RT28xx_DIR)/os/linux/Makefile $(MAKE) -C $(RT28xx_DIR)/os/linux/ ifeq ($(OSABL),YES) cp -f os/linux/Makefile.4.netif $(RT28xx_DIR)/os/linux/Makefile $(MAKE) -C $(RT28xx_DIR)/os/linux/ endif ifeq ($(RT28xx_MODE),AP) cp -f $(RT28xx_DIR)/os/linux/rt$(CHIPSET)ap.o /tftpboot ifeq ($(OSABL),YES) cp -f $(RT28xx_DIR)/os/linux/rtutil$(CHIPSET)ap.o /tftpboot cp -f $(RT28xx_DIR)/os/linux/rtnet$(CHIPSET)ap.o /tftpboot endif ifeq ($(PLATFORM),INF_AMAZON_SE) cp -f /tftpboot/rt2870ap.o /backup/ifx/build/root_filesystem/lib/modules/2.4.31-Amazon_SE-3.6.2.2-R0416_Ralink/kernel/drivers/net endif else ifeq ($(RT28xx_MODE),APSTA) cp -f $(RT28xx_DIR)/os/linux/rt$(CHIPSET)apsta.o /tftpboot ifeq ($(OSABL),YES) cp -f $(RT28xx_DIR)/os/linux/rtutil$(CHIPSET)apsta.o /tftpboot cp -f $(RT28xx_DIR)/os/linux/rtnet$(CHIPSET)apsta.o /tftpboot endif else cp -f $(RT28xx_DIR)/os/linux/rt$(CHIPSET)sta.o /tftpboot ifeq ($(OSABL),YES) cp -f $(RT28xx_DIR)/os/linux/rtutil$(CHIPSET)sta.o /tftpboot cp -f $(RT28xx_DIR)/os/linux/rtnet$(CHIPSET)sta.o /tftpboot endif endif endif else ifeq ($(OSABL),YES) cp -f os/linux/Makefile.6.util $(RT28xx_DIR)/os/linux/Makefile $(MAKE) -C $(LINUX_SRC) SUBDIRS=$(RT28xx_DIR)/os/linux modules endif cp -f os/linux/Makefile.6 $(RT28xx_DIR)/os/linux/Makefile ifeq ($(PLATFORM),DM6446) $(MAKE) ARCH=arm CROSS_COMPILE=arm_v5t_le- -C $(LINUX_SRC) SUBDIRS=$(RT28xx_DIR)/os/linux modules else ifeq ($(PLATFORM),FREESCALE8377) $(MAKE) ARCH=powerpc CROSS_COMPILE=$(CROSS_COMPILE) -C $(LINUX_SRC) SUBDIRS=$(RT28xx_DIR)/os/linux modules else $(MAKE) -C $(LINUX_SRC) SUBDIRS=$(RT28xx_DIR)/os/linux modules endif endif ifeq ($(OSABL),YES) cp -f os/linux/Makefile.6.netif $(RT28xx_DIR)/os/linux/Makefile $(MAKE) -C $(LINUX_SRC) SUBDIRS=$(RT28xx_DIR)/os/linux modules endif ifeq ($(RT28xx_MODE),AP) cp -f $(RT28xx_DIR)/os/linux/rt$(CHIPSET)ap.ko /tftpboot ifeq ($(OSABL),YES) cp -f $(RT28xx_DIR)/os/linux/rtutil$(CHIPSET)ap.ko /tftpboot cp -f $(RT28xx_DIR)/os/linux/rtnet$(CHIPSET)ap.ko /tftpboot endif rm -f os/linux/rt$(CHIPSET)ap.ko.lzma /root/bin/lzma e os/linux/rt$(CHIPSET)ap.ko os/linux/rt$(CHIPSET)ap.ko.lzma else ifeq ($(RT28xx_MODE),APSTA) cp -f $(RT28xx_DIR)/os/linux/rt$(CHIPSET)apsta.ko /tftpboot ifeq ($(OSABL),YES) cp -f $(RT28xx_DIR)/os/linux/rtutil$(CHIPSET)apsta.ko /tftpboot cp -f $(RT28xx_DIR)/os/linux/rtnet$(CHIPSET)apsta.ko /tftpboot endif else cp -f $(RT28xx_DIR)/os/linux/rt$(CHIPSET)sta.ko /tftpboot ifeq ($(OSABL),YES) cp -f $(RT28xx_DIR)/os/linux/rtutil$(CHIPSET)sta.ko /tftpboot cp -f $(RT28xx_DIR)/os/linux/rtnet$(CHIPSET)sta.ko /tftpboot endif endif endif endif release: ifeq ($(TARGET), LINUX) $(MAKE) -C $(RT28xx_DIR)/striptool -f Makefile.release clean $(MAKE) -C $(RT28xx_DIR)/striptool -f Makefile.release striptool/striptool.out ifeq ($(RELEASE), DPO) gcc -o striptool/banner striptool/banner.c ./striptool/banner -b striptool/copyright.gpl -s DPO/ -d DPO_GPL -R ./striptool/banner -b striptool/copyright.frm -s DPO/include/firmware.h -d DPO_GPL/include/firmware.h endif endif prerelease: ifeq ($(CHIPSET), 2880) $(MAKE) -C $(RT28xx_DIR)/os/linux -f Makefile.release.2880 prerelease else $(MAKE) -C $(RT28xx_DIR)/os/linux -f Makefile.release prerelease endif cp $(RT28xx_DIR)/os/linux/Makefile.DPB $(RTMP_SRC_DIR)/os/linux/. cp $(RT28xx_DIR)/os/linux/Makefile.DPA $(RTMP_SRC_DIR)/os/linux/. cp $(RT28xx_DIR)/os/linux/Makefile.DPC $(RTMP_SRC_DIR)/os/linux/. ifeq ($(RT28xx_MODE),STA) cp $(RT28xx_DIR)/os/linux/Makefile.DPD $(RTMP_SRC_DIR)/os/linux/. cp $(RT28xx_DIR)/os/linux/Makefile.DPO $(RTMP_SRC_DIR)/os/linux/. endif clean: ifeq ($(TARGET), LINUX) ifneq (,$(findstring 2.4,$(LINUX_SRC))) cp -f os/linux/Makefile.4 os/linux/Makefile else cp -f os/linux/Makefile.6 os/linux/Makefile endif $(MAKE) -C os/linux clean rm -rf os/linux/Makefile endif ifeq ($(TARGET), UCOS) $(MAKE) -C os/ucos clean MODE=$(RT28xx_MODE) endif uninstall: ifeq ($(TARGET), LINUX) ifneq (,$(findstring 2.4,$(LINUX_SRC))) $(MAKE) -C $(RT28xx_DIR)/os/linux -f Makefile.4 uninstall else $(MAKE) -C $(RT28xx_DIR)/os/linux -f Makefile.6 uninstall endif endif install: ifeq ($(TARGET), LINUX) ifneq (,$(findstring 2.4,$(LINUX_SRC))) $(MAKE) -C $(RT28xx_DIR)/os/linux -f Makefile.4 install else $(MAKE) -C $(RT28xx_DIR)/os/linux -f Makefile.6 install endif endif libwapi: ifneq (,$(findstring 2.4,$(LINUX_SRC))) cp -f os/linux/Makefile.libwapi.4 $(RT28xx_DIR)/os/linux/Makefile $(MAKE) -C $(RT28xx_DIR)/os/linux/ else cp -f os/linux/Makefile.libwapi.6 $(RT28xx_DIR)/os/linux/Makefile $(MAKE) -C $(LINUX_SRC) SUBDIRS=$(RT28xx_DIR)/os/linux modules endif osabl: ifeq ($(OSABL),YES) ifneq (,$(findstring 2.4,$(LINUX_SRC))) cp -f os/linux/Makefile.4.util $(RT28xx_DIR)/os/linux/Makefile $(MAKE) -C $(RT28xx_DIR)/os/linux/ cp -f os/linux/Makefile.4.netif $(RT28xx_DIR)/os/linux/Makefile $(MAKE) -C $(RT28xx_DIR)/os/linux/ else cp -f os/linux/Makefile.6.util $(RT28xx_DIR)/os/linux/Makefile $(MAKE) -C $(LINUX_SRC) SUBDIRS=$(RT28xx_DIR)/os/linux modules cp -f os/linux/Makefile.6.netif $(RT28xx_DIR)/os/linux/Makefile $(MAKE) -C $(LINUX_SRC) SUBDIRS=$(RT28xx_DIR)/os/linux modules endif endif libautoprovision: rm -f os/linux/lib.a cp -f os/linux/Makefile.libautoprovision.6 $(RT28xx_DIR)/os/linux/Makefile $(MAKE) -C $(LINUX_SRC) SUBDIRS=$(RT28xx_DIR)/os/linux # Declare the contents of the .PHONY variable as phony. We keep that information in a variable .PHONY: $(PHONY) merci
#2 25. Mai 2011 AW: Treiber als KernelObject kompilieren Schonmal: Code: sudo make install probiert? Das sollte eigtl funktionieren.. Ist zumindest gängig, dass die Entwickler die Installation über das Makefile einbauen.. MfG
#3 25. Mai 2011 AW: Treiber als KernelObject kompilieren Habe ein make versucht, der hat mir aber nur *.o Dateien rausgespuckt. Und in den entsprechenden Ordnern waren auch keine Kernel Objects. Ich hab iwie von Google gehört, dass man im Makefile iwas mit __KERNEL__ oder sowas eintragen muss, aber ich hab null Ahnung von diesen Makefiles!
#4 25. Mai 2011 AW: Treiber als KernelObject kompilieren $ more README_STA_pci Code: <snip> Build Instructions: ==================== 1> $tar -xvzf DPB_RT2860_Linux_STA_x.x.x.x.tgz go to "./DPB_RT2860_Linux_STA_x.x.x.x" directory. 2> In Makefile set the "MODE = STA" in Makefile and chose the TARGET to Linux by set "TARGET = LINUX" define the linux kernel source include file path LINUX_SRC modify to meet your need. 3> In os/linux/config.mk define the GCC and LD of the target machine define the compiler flags CFLAGS modify to meet your need. ** Build for being controlled by NetworkManager or wpa_supplicant wext functions Please set 'HAS_WPA_SUPPLICANT=y' and 'HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=y'. => #>cd wpa_supplicant-x.x => #>./wpa_supplicant -Dwext -ira0 -c wpa_supplicant.conf -d ** Build for being controlled by WpaSupplicant with Ralink Driver Please set 'HAS_WPA_SUPPLICANT=y' and 'HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=n'. => #>cd wpa_supplicant-0.5.7 => #>./wpa_supplicant -Dralink -ira0 -c wpa_supplicant.conf -d 4> $make # compile driver source code # To fix "error: too few arguments to function ¡¥iwe_stream_add_event" => $patch -i os/linux/sta_ioctl.c.patch os/linux/sta_ioctl.c 5> $cp RT2860STA.dat /etc/Wireless/RT2860STA/RT2860STA.dat 6> load driver #[kernel 2.4] # $/sbin/insmod rt2860sta.o # $/sbin/ifconfig ra0 inet YOUR_IP up #[kernel 2.6] # $/sbin/insmod rt2860sta.ko # $/sbin/ifconfig ra0 inet YOUR_IP up 7> unload driver $/sbin/ifconfig ra0 down $/sbin/rmmod rt2860sta </snip> Ne readme is doch da, um gelesen zu werden.
#5 25. Mai 2011 AW: Treiber als KernelObject kompilieren Ich weiß, aber leider steht da nicht wie ich das Makefile verändern soll, damit ich eine *.ko beim kompilieren krieg.
#6 26. Mai 2011 AW: Treiber als KernelObject kompilieren Code: 2> In Makefile set the "MODE = STA" in Makefile and chose the TARGET to Linux by set "TARGET = LINUX" define the linux kernel source include file path LINUX_SRC modify to meet your need. Das hast du gemacht ? Code: 6> load driver #[kernel 2.4] # $/sbin/insmod rt2860sta.o # $/sbin/ifconfig ra0 inet YOUR_IP up #[kernel 2.6] # $/sbin/insmod rt2860sta.ko # $/sbin/ifconfig ra0 inet YOUR_IP u Man kann auch .o files als kernelmodul installieren. Kann es vielleicht sein, dass du im makefile den falschen kernel angegeben hast? Für Linux 2.4 kommt anscheinend laut readme ne .o raus. Schon versucht den insmod auszuführen ?
#7 30. Mai 2011 AW: Treiber als KernelObject kompilieren Ich hab keine Ahnung wie ich das Makefile nach meinen Bedürfnissen verändern soll! Wie gesagt ich kenn mich mit C/C++ und diesen MakeFiles nicht aus! Bei den Settings für den "PC" steht ja schon: Code: ifeq ($(PLATFORM),PC) # Linux 2.6 LINUX_SRC = /lib/modules/$(shell uname -r)/build # Linux 2.4 Change to your local setting #LINUX_SRC = /usr/src/linux-2.4 LINUX_SRC_MODULE = /lib/modules/$(shell uname -r)/kernel/drivers/net/wireless/ CROSS_COMPILE = endif insmod: cannot insert 'rt30xx.o': invalid module format Also gehts nicht mit den Objects. Ich hab jetzt aber mal was anderes geändert gehabt: Am Anfang steht die Variable CHIPSET mit was falschem drin (3562) ich brauche ja aber den 3062. Nach dem Korregieren hat der nochmal lang rumkompiliert und dann kam als letzte Meldung Aber dieses /tftpboot ist eine Datei und kein Verzeichnis?? Ich hab auch schon nach der rt3062sta.ko gesucht gehabt, aber nix gefunden! kA wo die hin ist EDIT:: So nach einem make install war die *.ko im driver Ordner. Da ich diesen Treiber aber auf nem anderen Gerät brauch, auf dem OpenEmbedded läuft, liefs leider nicht ganz ^^ Naja muss jetzt noch schaun wie ich das hinkrieg. Trotzdem Danke!