Проблема с компиляцией

  • При компиляции получаю USB wlan следующее:


    root@ggg:/root/rtl8180-0.21# make
    make -C /lib/modules/2.6.17-10-386/build SUBDIRS=/root/rtl8180-0.21 MODVERDIR=/root/rtl8180-0.21 modules
    make[1]: Betrete Verzeichnis '/usr/src/linux-headers-2.6.17-10-386'
    scripts/Makefile.build:17: /root/rtl8180-0.21/Makefile: No such file or directory
    make[2]: *** Keine Regel, um »/root/rtl8180-0.21/Makefile« zu erstellen. Schluss.
    make[1]: *** [_module_/root/rtl8180-0.21] Fehler 2
    make[1]: Verlasse Verzeichnis '/usr/src/linux-headers-2.6.17-10-386'
    make: *** [2.6] Fehler 2
    root@ggg:/root/rtl8180-0.21#

    Что нужно сделать чтобы пошло дальше?

    Убунту 6,10

  • Ето что надо заменить ? Какую переменную.


    ######Makefile
    #EXTRA_CFLAGS += -DCONFIG_IEEE80211_NOWEP=y
    #EXTRA_CFLAGS += -DCONFIG_RTL8180_PM=y
    #EXTRA_CFLAGS += -DCONIFG_RTL8180_IOMAP
    EXTRA_CFLAGS += -I$(TOPDIR)/drivers/net/wireless
    PWD = $(shell pwd)
    KVER := $(shell uname -r)
    KSRC := /lib/modules/$(KVER)/build
    include $(KSRC)/.config
    INSTALL_PREFIX :=
    EXTRA_CFLAGS += -std=gnu89
    EXTRA_CFLAGS += -O2
    EXTRA_CFLAGS += -mhard-float -DCONFIG_FORCE_HARD_FLOAT=y


    # if Rules.make exists in the kernel tree, we assume 2.4 style modules
    # if it doesn't assume 2.6 style
    OLDMAKE = $(wildcard $(KSRC)/Rules.make)


    ifneq (,$(OLDMAKE))
    export-objs:= ieee80211_rx.o ieee80211_tx.o ieee80211_wx.o ieee80211_module.o
    export-objs+= ieee80211_crypt.o ieee80211_crypt_wep.o
    export-objs+= r8180_core.o r8180_sa2400.o r8180_93cx6.o r8180_wx.o r8180_max2820.o r8180_gct.o
    endif
    ieee80211-r8180-objs := ieee80211_rx.o ieee80211_tx.o ieee80211_wx.o ieee80211_module.o
    ieee80211_crypt-r8180-objs := ieee80211_crypt.o
    ieee80211_crypt_wep-r8180-objs := ieee80211_crypt_wep.o
    r8180-objs := r8180_core.o r8180_sa2400.o r8180_93cx6.o r8180_wx.o r8180_pm.o r8180_max2820.o r8180_gct.o


    obj-m += ieee80211-r8180.o
    obj-m += r8180.o
    obj-m += ieee80211_crypt-r8180.o
    obj-m += ieee80211_crypt_wep-r8180.o


    ifeq (,$(OLDMAKE))
    # Build for kernel 2.6
    all: modules


    modules: 2.6


    else
    # Build for kernel 2.4
    all: 2.4


    ieee80211_crypt-r8180.o: $(ieee80211_crypt-r8180-objs)
    $(LD) $(LD_RFLAGS) -r -o $@ $(ieee80211_crypt-r8180-objs)


    ieee80211_crypt_wep-r8180.o: $(ieee80211_crypt_wep-r8180-objs)
    $(LD) $(LD_RFLAGS) -r -o $@ $(ieee80211_crypt_wep-r8180-objs)


    r8180.o: $(r8180-objs)
    $(LD) $(LD_RFLAG) -r -o $@ $(r8180-objs)


    ieee80211-r8180.o: $(ieee80211-r8180-objs)
    $(LD) $(LD_RFLAG) -r -o $@ $(ieee80211-r8180-objs)


    -include $(OLDMAKE)
    endif


    2.4:
    make -C $(KSRC) SUBDIRS=$(PWD) modules


    2.6:
    $(MAKE) -C $(KSRC) SUBDIRS=$(PWD) MODVERDIR=$(PWD) modules


    clean:
    rm -f *.mod.c *.mod *.o .*.cmd *.ko .*.flags
    rm -rf $(PWD)/tmp


    ifeq (,$(OLDMAKE))
    MODDESTDIR := $(INSTALL_PREFIX)/lib/modules/$(KVER)/kernel/drivers/net/wireless
    MOD_ALGDESTDIR := $(INSTALL_PREFIX)/lib/modules/$(KVER)/kernel/drivers/net/wireless/alg
    install: all
    mkdir -p $(MODDESTDIR)
    mkdir -p $(MOD_ALGDESTDIR)
    install -p -m 644 r8180.ko ieee80211-r8180.ko ieee80211_crypt-r8180.ko $(MODDESTDIR)
    install -p -m 644 ieee80211_crypt_wep-r8180.ko $(MOD_ALGDESTDIR)
    else
    MODDESTDIR := $(INSTALL_PREFIX)/lib/modules/$(KVER)/kernel/net/wireless
    MOD_ALGDESTDIR := $(INSTALL_PREFIX)/lib/modules/$(KVER)/kernel/net/wireless/alg
    install: all
    mkdir -p $(MODDESTDIR)
    mkdir -p $(MOD_ALGDESTDIR)
    install -p -m 644 r8180.o ieee80211-r8180.o ieee80211_crypt-r8180.o $(MODDESTDIR)
    install -p -m 644 ieee80211_crypt_wep-r8180.o $(MOD_ALGDESTDIR)
    endif

  • Цитата

    Со слов пользователя bubl-gum
    То есть мне надо в Makefile вписать действительное место нахождения ядра?


    По идее если ты исходники ядра, твоего актуального распакуешь, сконфигурируешь правильно и создашь линк /usr/src/linux указываюший на исходники с ядром, то make в правильную папочку в /usr/src/linux сам прыгнет.


    У тебя ubuntu, ты aptitude посмотри какое у тебя ядро установленно и установи правильные исходники ядра. aptitude source твоеядро-

  • в Dapper Drake модуль RT8180 в ядре уже есть , ставить дрова не треба , карта с етим чипом опознаётся .





    sudo apt-get install build-essential linux-headers-386 wireless-tools cvs



    cd /usr/src


    wget Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.



    tar xfvz rtl8180-0.21.tar.gz


    cd rtl8180-0.21



    make


    sudo ./module_load


    sudo mkdir /lib/modules/`uname -r`/kernel/drivers/net/wireless/rtl8180



    sudo cp *.ko /lib/modules/`uname -r`/kernel/drivers/net/wireless/rtl8180/

  • uname -r
    2.6.17-10-generic
    apt-get install linux-source-2.6.17
    cd /usr/src
    tar -xjvf linux-source-2.6.17.tar.bz2
    ln -s linux-source-2.6.17 linux
    cd linux
    cp /boot/config-2.6.17-10-generic .config
    sudo make oldconfig
    sudo make xconfig
    sudo make-kpkg --initrd --revision i686ver1 binary
    sudo dpkg -i ../kernel-image-2.6.17.14-ubuntu1-i686ver1_i386.deb
    Reboot und Test des neuen Kernels-lauft!!!!!!!
    uname -r
    2.6.17.14-ubuntu1
    kompilieren
    cd /usr/src
    ifconfig wlan0 down
    rmmod r8180
    wget Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.
    wget Пожалуйста зарегистрируйся для просмотра данной ссылки на страницу.
    tar -xvzf rtl8180-0.21.tar.gz
    cd rtl8180-0.21
    patch -Np1 -i ../rtl8180-0.21.patch


    FEHLER
    root@ggg:/usr/src/rtl8180-0.21# make
    make -C /lib/modules/2.6.17.14-ubuntu1/build SUBDIRS=/usr/src/rtl8180-0.21 MODVERDIR=/usr/src/rtl8180-0.21 modules
    make[1]: Betrete Verzeichnis '/usr/src/linux-source-2.6.17'
    scripts/Makefile.build:17: /usr/src/rtl8180-0.21/Makefile: No such file or directory
    make[2]: *** Keine Regel, um »/usr/src/rtl8180-0.21/Makefile« zu erstellen. Schluss.
    make[1]: *** [_module_/usr/src/rtl8180-0.21] Fehler 2
    make[1]: Verlasse Verzeichnis '/usr/src/linux-source-2.6.17'
    make: *** [2.6] Fehler 2
    root@ggg:/usr/src/rtl8180-0.21#


    ?????????????????????????????????????????????????????????????????????????????????

    Сообщение было отредактировано 2 раз, последнее редактирование пользователем bubl-gum ().

  • Цитата

    Со слов пользователя Akkermanec
    root@ggg:/usr/src/rtl8180-0.21# ./configure
    dann
    root@ggg:/usr/src/rtl8180-0.21#make


    Да у него нету там configure скрипта. И вообще странно, он же make набравши не получил отлуп, что Makefile нету. Что то он же начинает делать, и только потом ошибка вылезает.

  • к автору треда


    ты когда извлечешь сурсы драйвера и наложишь пач, открой Makefile редактором и найди такие строки:


    Цитата


    2.6:
    $(MAKE) -C $(KSRC) SUBDIRS=$(PWD) MODVERDIR=$(PWD) modules


    Удали MODVERDIR=$(PWD), что бы получилось


    Цитата


    2.6:
    $(MAKE) -C $(KSRC) SUBDIRS=$(PWD) modules


    и попробуй скомпилировать командой make

  • ты когда извлечешь сурсы драйвера и наложишь пач, открой Makefile редактором и найди такие строки:
    2.6:
    $(MAKE) -C $(KSRC) SUBDIRS=$(PWD) MODVERDIR=$(PWD) modules
    Удали MODVERDIR=$(PWD), что бы получилось
    2.6:
    $(MAKE) -C $(KSRC) SUBDIRS=$(PWD) modules
    и попробуй скомпилировать командой make


    выдает следующее




    root@ggg:/usr/src/rtl8180-0.21# make
    make -C /lib/modules/2.6.17.14-ubuntu1/build SUBDIRS=/usr/src/rtl8180-0.21 modules
    make[1]: Betrete Verzeichnis '/usr/src/linux-source-2.6.17'
    CC [M] /usr/src/rtl8180-0.21/ieee80211_rx.o
    CC [M] /usr/src/rtl8180-0.21/ieee80211_tx.o
    CC [M] /usr/src/rtl8180-0.21/ieee80211_wx.o
    CC [M] /usr/src/rtl8180-0.21/ieee80211_module.o
    CC [M] /usr/src/rtl8180-0.21/ieee80211_crypt.o
    CC [M] /usr/src/rtl8180-0.21/ieee80211_crypt_wep.o
    /usr/src/rtl8180-0.21/ieee80211_crypt_wep.c:27:2: warning: #warning CONFIG_CRYPTO_ARC4 is required to build this module.
    CC [M] /usr/src/rtl8180-0.21/r8180_core.o
    /usr/src/rtl8180-0.21/r8180_core.c:124: error: expected в?Ь)в?™ before string constant
    /usr/src/rtl8180-0.21/r8180_core.c:127: error: expected в?Ь)в?™ before string constant
    /usr/src/rtl8180-0.21/r8180_core.c:130: error: expected в?Ь)в?™ before string constant
    /usr/src/rtl8180-0.21/r8180_core.c:133: error: expected в?Ь)в?™ before string constant
    make[2]: *** [/usr/src/rtl8180-0.21/r8180_core.o] Fehler 1
    make[1]: *** [_module_/usr/src/rtl8180-0.21] Fehler 2
    make[1]: Verlasse Verzeichnis '/usr/src/linux-source-2.6.17'
    make: *** [2.6] Fehler 2

  • Цитата

    Со слов пользователя the_moon
    Ты попробовал сделать, что тебе Akkermanec написал? Может у него исходники более правильные.


    Упс, а куда посщеное Akkermanec-ом делось? Там с картинками было?

  • Цитата

    Со слов пользователя bubl-gum/usr/src/rtl8180-0.21/r8180_core.c:124: error: expected в?Ь)в?™ before string constant
    /usr/src/rtl8180-0.21/r8180_core.c:127: error: expected в?Ь)в?™ before string constant
    /usr/src/rtl8180-0.21/r8180_core.c:130: error: expected в?Ь)в?™ before string constant
    /usr/src/rtl8180-0.21/r8180_core.c:133: error: expected в?Ь)в?™ before string constant


    Если у тебя не пропало желание еще, то у меня есть еще одно предложение


    открой /usr/src/rtl8180-0.21/r8180_core.c текстовым редактором


    Найди строку


    #include "r8180_hw.h"


    и перед ней добавь такую


    #include <linux/moduleparam.h>


    Потом найди строки

    MODULE_PARM(ifname,"s");
    MODULE_PARM(hwseqnum,"i");
    MODULE_PARM(hwwep,"i");
    MODULE_PARM(channels,"i");


    и замени их соотвественно на

    module_param(ifname, charp, 0);
    module_param(hwseqnum, int, 0);
    module_param(hwwep, int, 0);
    module_param(channels, int, 0);


    Потом попробуй снова скомпилировать командой make