/lib/modules/2.6.27-11-generic/updates/drivers/net/wireless/ath/ath5k/ath5k.koDisabling ath5k ...mv: cannot stat `/lib/modules/2.6.27-11-generic//lib/modules/2.6.27-11-generic/updates/drivers/net/wireless/ath/ath5k/ath5k.ko': No such file or directory
[ERROR] Module is still being detected:Notice the double use of the "/lib/modules/2.6.27-11-generic/" path in the second line of the output. I have commented out line 41 of modlib.sh and added line 42:
# mv -f /lib/modules/$VER/$CHECK /lib/modules/$VER/${CHECK}${IGNORE_SUFFIX}
mv -f $CHECK ${CHECK}${IGNORE_SUFFIX}This change seems to have fix athenable. I think the reason for the repeated path output is that $CHECK uses "modprobe -l" which gives a full path output for the driver file it finds, thus, "/lib/modules/$VER" is not required in line 41.
While looking at this problem, I found another in the iwl-enable script. Actually, two. The USAGE statement uses $IWL, not $IWL_NEW at line 20. Also, at line 38 (39 in attached copy) $MODULE is doing a string match with "iwl4954", not "iwl4965". I've commented out these two lines and made corrects on the line below them (lines 21 and 40 in attached copy).
I also discovered that the module_enable function in modlib.sh didn't work right. Since I'm using compat-wireless, the drivers are being installed to the "update" folder, not "kernel" in the "/lib/modules/`uname -r`" folder. However, somebody at the end of the enable_module function put in a break with a comment above it stating, "Lets only do this for the first module found". Well, that means the module in the "kernel" folder is enabled, but not the one in the the "update" folder. That means the module will not load (incompatible versions). I have commented out this break statement on line 86 (in attached copy of modlib.sh). It works fine now.
Hope these changes help. -- Brett D. Ussher
#!/bin/bash # # Copyright 2007 Luis R. Rodriguez <lrodriguez@xxxxxxxxxxx> # # Makes sure either iwlagn (new) or iwl4965 (old) # is enabled to be used. This allows us to choose any driver without # blacklisting each other. . /usr/lib/compat-wireless/modlib.sh if [[ $UID -ne 0 ]]; then echo "Run with root privileges" exit fi IWL_NEW="iwlagn" IWL_OLD="iwl4965" # Appended to module file at the end when we want to ignore one #USAGE="Usage: $0 [ $IWL | $IWL_OLD ]" USAGE="Usage: $0 [ $IWL_NEW | $IWL_OLD ]" function enable_iwlagn { module_disable $IWL_OLD for i in $IWL_NEW; do module_enable $i done } # Default behavior: disables the old iwl4965 driver and enables iwlagn if [ $# -eq 0 ]; then enable_iwlagn exit elif [ $# -ne 1 ]; then echo "$USAGE" exit fi MODULE=$1 #if [ "$MODULE" == "iwl4954" ]; then if [ "$MODULE" == "iwl4965" ]; then module_disable $IWL_NEW module_enable $IWL_OLD elif [ "$MODULE" == "iwlagn" ]; then enable_iwlagn else echo "$USAGE" exit fi
Attachment:
modlib.sh
Description: Bourne shell script