3

I'm trying to set up Slackware 14.0 on an Asus EEE PC Flare Series Netbook. Currently I'm trying to configure the wifi. When I enter the following:

# iwconfig

I get:

lo        no wireless extensions.

Which I've figured out means I don't have the driver for my wireless card installed (based on this - see the Wireless subheader). I checked lspci and here's the info on my network card:

02:00.0 Network controller: Atheros Communications Inc. AR9285 Wireless Network Adapter (PCI-Express) (rev-01)

I managed to find a guide here detailing how to install the right driver. I downloaded the tarball from the tutorial, transferred it to the computer running Slackware via usb, extracted it, and ran the commands from the tutorial. When I got to the part where I ran make, however, I got the following output:

# make
/sbin/modprobe: invalid option -- 'l'
/sbin/modprobe: invalid option -- 'l'
./scripts/gen-compat-autoconf.sh config.mk > include/linux/compat_autoconf.h

At which point it gets stuck. I eventually cancelled it with Ctrl+C and tried to run make clean. That also gave the /sbin/modprobe: invalid option -- 'l' error a bunch of times but eventually finished.

At this point I googled a bit and eventually found this from 2 years ago which states that the -l flag was not implemented in the kernel at that point, but it was on a TODO list. I checked man modprobe and the -l flag wasn't mentioned anywhere, nor was there a TOOD section. I also checked the make file and sure enough it tries to invoke /sbin/modprobe with the -l flag, causing the make process to fail.

Has anybody encountered this problem with modprobe before? Is there some alternative command I can substitute it with? (I can edit the makefile). Any help would be greatly appreciated.

5

The version of modprobe in Ubuntu 12.04 (from module-init-tools version 3.16) does have a -l option, with description

   -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.

For example,

$ 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

Based on that, it may be possible to replace the command with a command such as find /path/to/kernel/drivers -name 'xxx' e.g.

$ 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
  • This seems promising. Will get back once I've tried it. Thanks – PandaConda Aug 21 '14 at 9:02

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.