Problema ao compilar o driver para o adaptador usb-ethernet usb31000sw

0

Estou tentando criar um driver para o Startech USB31000SW. Um driver linux está incluído, mas deve ser compilado e instalado. Ao executar make , recebo os seguintes erros:

make -C /lib/modules/3.2.0-52-generic-pae/build SUBDIRS=/home/lars/Hämtningar/usbnet/Linux/Kernel 2.6.x_3.x modules
make[1]: Går till katalogen "/usr/src/linux-headers-3.2.0-52-generic-pae"
make[1]: *** Ingen regel för att skapa målet "2.6.x_3.x".  Stannar. 
make[1]: Lämnar katalogen "/usr/src/linux-headers-3.2.0-52-generic-pae"
make: *** [default] Error 2

A terceira linha se traduz em: Nenhuma regra para criar o destino

De acordo com o arquivo read me, o código-fonte do kernel é necessário, então eu o instalei do Synaptic.

Este é o makefile:

CURRENT = $(shell uname -r)
TARGET  = ax88179_178a
OBJS    = ax88179_178a.o
MDIR    = drivers/net/usb
KDIR    = /lib/modules/$(CURRENT)/build
SUBLEVEL= $(shell uname -r | cut -d '.' -f 3 | cut -d '.' -f 1 | cut -d '-' -f 1 | cut -d '_' -f 1)
USBNET  = $(shell find $(KDIR)/include/linux/usb/* -name usbnet.h)

ifneq (,$(filter $(SUBLEVEL),14 15 16 17 18 19 20 21))
MDIR = drivers/usb/net
#USBNET = $(shell find $(KDIR)/$(MDIR)/* -name usbnet.h)
endif

#ifneq (,$(filter $(SUBLEVEL),21 22 23 24))
#USBNET = $(shell find $(KDIR)/$(MDIR)/* -name usbnet.h)
#endif

#$(if $(USBNET),,$(error $(KDIR)/$(MDIR)/usbnet.h not found. please refer to readme file for the detailed description))

EXTRA_CFLAGS = -DEXPORT_SYMTAB
PWD = $(shell pwd)
DEST = /lib/modules/$(CURRENT)/kernel/$(MDIR)

obj-m      := $(TARGET).o

default:
    make -C $(KDIR) SUBDIRS=$(PWD) modules

$(TARGET).o: $(OBJS)
    $(LD) $(LD_RFLAG) -r -o $@ $(OBJS)
pw
install:
    su -c "cp -v $(TARGET).ko $(DEST) && /sbin/depmod -a"

clean:
    $(MAKE) -C $(KDIR) SUBDIRS=$(PWD) clean

.PHONY: modules clean

-include $(KDIR)/Rules.make

Qualquer ideia seria bem-vinda

    
por Lars 07.09.2013 / 14:26

2 respostas

2

Você não pode ter espaços em seus nomes de diretórios nesta árvore de diretórios de compilação. Quando você remove o espaço no nome do diretório /home/lars/Hämtningar/usbnet/Linux/Kernel 2.6.x_3.x (o espaço entre "Kernel" e "2.6.x_3.x"), ele deve funcionar.

É porque o comando "make" não reconhece a opção "2.6.x_3.x". "Make" tem que fazer (compilar) "modules", mas ele tenta criar "2.6.x_3.x" por causa dos espaços no comando.

    
por R110 07.09.2013 / 14:41
0

Do Synaptic, por favor, instale o linux-headers-generic e build-essential e tente novamente. Se ainda não for compilado, forneça um link para o driver, para que possamos solucioná-lo ainda mais. Além disso, poste:

lsusb
    
por chili555 07.09.2013 / 14:43