我刚刚从 Realtek 网站直接下载了 RTL8188CE 驱动程序。我安装了 build-essentials 和 linux-generic-headers。我转到下载的驱动程序的顶级目录并make
在终端中运行。我不断收到以下错误。
make -C /lib/modules/3.5.0-25-generic/build M=/home/mo/Documents/ASUS PCE-N15 Drivers/rtl_92ce_92se_92de_8723ae_88ee_linux_mac80211_0012.0207.2013 modules
make[1]: Entering directory `/usr/src/linux-headers-3.5.0-25-generic'
make[1]: *** No rule to make target `PCE-N15'. Stop.
make[1]: Leaving directory `/usr/src/linux-headers-3.5.0-25-generic'
make: *** [all] Error 2
我正在尝试安装 ASUS PCE-N15 WiFi 卡的驱动程序。
这是 makefile:
CC = gcc
KVER := $(shell uname -r)
KSRC := /lib/modules/$(KVER)/build
MODDESTDIR := /lib/modules/$(KVER)/kernel/drivers/net/wireless/rtlwifi
FIRMWAREDIR := /lib/firmware/
PWD := $(shell pwd)
CLR_MODULE_FILES := *.mod.c *.mod *.o .*.cmd *.ko *~ .tmp_versions* modules.order Module.symvers
SYMBOL_FILE := Module.symvers
EXTRA_CFLAGS += -O2
obj-m := rtlwifi.o
PCI_MAIN_OBJS := base.o \
rc.o \
debug.o \
regd.o \
efuse.o \
cam.o \
ps.o \
core.o \
stats.o \
pci.o \
rtlwifi-objs += $(PCI_MAIN_OBJS)
all:
$(MAKE) -C $(KSRC) M=$(PWD) modules
@cp $(SYMBOL_FILE) rtl8192ce/
@make -C rtl8192ce/
@cp $(SYMBOL_FILE) rtl8192se/
@make -C rtl8192se/
@cp $(SYMBOL_FILE) rtl8192de/
@make -C rtl8192de/
@cp $(SYMBOL_FILE) rtl8723e/
@make -C rtl8723e/
@cp $(SYMBOL_FILE) rtl8188ee/
@make -C rtl8188ee/
install: all
find /lib/modules/$(shell uname -r) -name "r8192se_*.ko" -exec rm {} \;
find /lib/modules/$(shell uname -r) -name "r8192ce_*.ko" -exec rm {} \;
find /lib/modules/$(shell uname -r) -name "r8723e_*.ko" -exec rm {} \;
find /lib/modules/$(shell uname -r) -name "r8188ee_*.ko" -exec rm {} \;
@rm -fr $(FIRMWAREDIR)/`uname -r`/rtlwifi
$(shell rm -fr $(MODDESTDIR))
$(shell mkdir $(MODDESTDIR))
$(shell mkdir $(MODDESTDIR)/rtl8192se)
$(shell mkdir $(MODDESTDIR)/rtl8192ce)
$(shell mkdir $(MODDESTDIR)/rtl8192de)
$(shell mkdir $(MODDESTDIR)/rtl8723e)
$(shell mkdir $(MODDESTDIR)/rtl8188ee)
@install -p -m 644 rtlwifi.ko $(MODDESTDIR)
@install -p -m 644 ./rtl8192se/rtl8192se.ko $(MODDESTDIR)/rtl8192se
@install -p -m 644 ./rtl8192ce/rtl8192ce.ko $(MODDESTDIR)/rtl8192ce
@install -p -m 644 ./rtl8192de/rtl8192de.ko $(MODDESTDIR)/rtl8192de
@install -p -m 644 ./rtl8723e/rtl8723e.ko $(MODDESTDIR)/rtl8723e
@install -p -m 644 ./rtl8188ee/rtl8188ee.ko $(MODDESTDIR)/rtl8188ee
@depmod -a
@#copy firmware img to target fold
@#$(shell [ -d "$(FIRMWAREDIR)/`uname -r`" ] && cp -fr firmware/rtlwifi/ $(FIRMWAREDIR)/`uname -r`/.)
@#$(shell [ ! -d "$(FIRMWAREDIR)/`uname -r`" ] && cp -fr firmware/rtlwifi/ $(FIRMWAREDIR)/.)
@cp -fr firmware/rtlwifi/ $(FIRMWAREDIR)/
uninstall:
$(shell [ -d "$(MODDESTDIR)" ] && rm -fr $(MODDESTDIR))
@depmod -a
@#delete the firmware img
@rm -fr /lib/firmware/rtlwifi/
@rm -fr /lib/firmware/`uname -r`/rtlwifi/
clean:
rm -fr *.mod.c *.mod *.o .*.cmd *.ko *~
rm -fr .tmp_versions
rm -fr Modules.symvers
rm -fr Module.symvers
rm -fr Module.markers
rm -fr modules.order
rm -fr tags
@find -name "tags" -exec rm {} \;
@rm -fr $(CLR_MODULE_FILES)
@make -C rtl8192ce/ clean
@make -C rtl8192se/ clean
@make -C rtl8192de/ clean
@make -C rtl8723e/ clean
@make -C rtl8188ee/ clean
答案1
我找到了问题所在。我的 PWD 中有一个空格,因此 make 命令认为 PCE-N15 是目标,而不是 PATH 名称的一部分。