Wifi
執行 makefile 會導致“/sbin/modprobe: invalid option – ’l’”
我正在嘗試在華碩 EEE PC Flare 系列上網本上設置 Slackware 14.0。目前我正在嘗試配置wifi。當我輸入以下內容時:
# iwconfig
我得到:
lo no wireless extensions.
我發現這意味著我沒有安裝無線網卡的驅動程序(基於此 - 請參閱無線子標題)。我查了一下
lspci
,這是我網卡上的資訊:02:00.0 Network controller: Atheros Communications Inc. AR9285 Wireless Network Adapter (PCI-Express) (rev-01)
我設法在這裡找到了詳細說明如何安裝正確驅動程序的指南。我從教程中下載了 tarball,通過 USB 將其傳輸到執行 Slackware 的電腦上,解壓縮,然後執行教程中的命令。但是,當我到達我執行的部分
make
時,我得到了以下輸出:# make /sbin/modprobe: invalid option -- 'l' /sbin/modprobe: invalid option -- 'l' ./scripts/gen-compat-autoconf.sh config.mk > include/linux/compat_autoconf.h
在這一點上它卡住了。我最終用
Ctrl
+取消了它C
並嘗試執行make clean
. 這也給了/sbin/modprobe: invalid option -- 'l'
錯誤很多次,但最終完成了。在這一點上,我用Google搜尋了一下,最終從 2 年前發現了這個
-l
,它指出當時核心中沒有實現該標誌,但它在 TODO 列表中。我檢查了 man modprobe 並-l
沒有在任何地方提到該標誌,也沒有 TOOD 部分。我還檢查了 make 文件,果然它嘗試/sbin/modprobe
使用-l
標誌呼叫,導致make
程序失敗。以前有人遇到過這個問題
modprobe
嗎?是否有一些替代命令可以替代它?(我可以編輯makefile)。任何幫助將不勝感激。
modprobe
Ubuntu 12.04 中的版本(來自module-init-tools version 3.16
)確實有一個-l
選項,帶有描述-l --list List all modules matching the given wildcard (or "*" if no wildcard is given). This option is provided for backwards compatibility and may go away in future: see find(1) and basename(1) for a more flexible alternative.
例如,
$ modprobe -l 'ath*' kernel/drivers/net/wireless/ath/ath5k/ath5k.ko kernel/drivers/net/wireless/ath/ath9k/ath9k.ko kernel/drivers/net/wireless/ath/ath9k/ath9k_hw.ko kernel/drivers/net/wireless/ath/ath9k/ath9k_common.ko kernel/drivers/net/wireless/ath/ath9k/ath9k_htc.ko kernel/drivers/net/wireless/ath/ath6kl/ath6kl.ko kernel/drivers/net/wireless/ath/ath.ko kernel/drivers/bluetooth/ath3k.ko
基於此,可以將命令替換為命令,
find /path/to/kernel/drivers -name 'xxx'
例如$ find /lib/modules/`uname -r` -name 'ath*.ko' -type f -printf '%P\n' kernel/drivers/net/wireless/ath/ath6kl/ath6kl.ko kernel/drivers/net/wireless/ath/ath.ko kernel/drivers/net/wireless/ath/ath9k/ath9k_htc.ko kernel/drivers/net/wireless/ath/ath9k/ath9k_hw.ko kernel/drivers/net/wireless/ath/ath9k/ath9k_common.ko kernel/drivers/net/wireless/ath/ath9k/ath9k.ko kernel/drivers/net/wireless/ath/ath5k/ath5k.ko kernel/drivers/bluetooth/ath3k.ko