ndiswrapper does not detect the enabled CONFIG_WIRELESS_EXT option in the kernel config and will fail to build. Checking my kernel config confirms that it is enabled (also the fact that I am using wireless at this time). "cat /usr/src/linux/.config | grep CONFIG_WIRELESS_EXT CONFIG_WIRELESS_EXT_SYSFS=y" Newer kernels changed the name? Reproducible: Always Steps to Reproduce: 1.make sure wireless extensions are enabled in current kernel 2.emerge ndiswrapper 3.it faild complaining that CONFIG_WIRELESS_EXT is not set. Actual Results: ndiswrapper will not install. Expected Results: it should detect that wireless extensions are in fact enabled in the kernel and then install just fine. >>> Emerging (1 of 51) net-wireless/ndiswrapper-1.56 * ndiswrapper-1.56.tar.gz RMD160 SHA1 SHA256 size ;-) ... [ ok ] * checking ebuild checksums ;-) ... [ ok ] * checking auxfile checksums ;-) ... [ ok ] * checking miscfile checksums ;-) ... [ ok ] * CPV: net-wireless/ndiswrapper-1.56 * REPO: gentoo * USE: amd64 elibc_glibc kernel_linux multilib usb userland_GNU * See http://www.gentoo.org/doc/en/gentoo-kernel.xml * for a list of supported kernels. * Determining the location of the kernel source code * Found kernel source directory: * /usr/src/linux * Found kernel object directory: * /lib/modules/2.6.34-tuxonice/build * Found sources for kernel version: * 2.6.34-tuxonice * Checking for suitable kernel configuration options... * CONFIG_WIRELESS_EXT: is not set when it should be. * Please check to make sure these options are set correctly. * Failure to do so may cause unexpected problems. * Once you have satisfied these options, please try merging * this package again. * ERROR: net-wireless/ndiswrapper-1.56 failed: * Incorrect kernel configuration options * * Call stack: * ebuild.sh, line 48: Called pkg_setup * ndiswrapper-1.56.ebuild, line 34: Called linux-mod_pkg_setup * linux-mod.eclass, line 585: Called linux-info_pkg_setup * linux-info.eclass, line 894: Called check_extra_config * linux-info.eclass, line 788: Called die * The specific snippet of code: * die "Incorrect kernel configuration options" * * If you need support, post the output of 'emerge --info =net-wireless/ndiswrapper-1.56', * the complete build log and the output of 'emerge -pqv =net-wireless/ndiswrapper-1.56'. * The complete build log is located at '/var/tmp/portage/net-wireless/ndiswrapper-1.56/temp/build.log'. * The ebuild environment file is located at '/var/tmp/portage/net-wireless/ndiswrapper-1.56/temp/die.env'. * S: '/var/tmp/portage/net-wireless/ndiswrapper-1.56/work/ndiswrapper-1.56'
(In reply to comment #0) > "cat /usr/src/linux/.config | grep CONFIG_WIRELESS_EXT > CONFIG_WIRELESS_EXT_SYSFS=y" > > Newer kernels changed the name? ~ # zgrep WIRELESS_EXT /proc/config.gz CONFIG_WIRELESS_EXT=y CONFIG_WIRELESS_EXT_SYSFS=y It's still there on .34, but you can't directly select it, it is selected by other drivers. I've added a better error message for this case: + ERROR_WIRELESS_EXT="Starting with 2.6.33 it is not possible to select WIRELESS_EXT anymore, you have to enable a wireless driver that enables WIRELESS_EXT, for example PRISM54 or IPW2200"
(In reply to comment #1) > (In reply to comment #0) > > "cat /usr/src/linux/.config | grep CONFIG_WIRELESS_EXT > > CONFIG_WIRELESS_EXT_SYSFS=y" > > > > Newer kernels changed the name? > > ~ # zgrep WIRELESS_EXT /proc/config.gz > CONFIG_WIRELESS_EXT=y > CONFIG_WIRELESS_EXT_SYSFS=y > > It's still there on .34, but you can't directly select it, it is selected by > other drivers. I've added a better error message for this case: > > + ERROR_WIRELESS_EXT="Starting with 2.6.33 it is not possible to select > WIRELESS_EXT anymore, you have to enable a wireless driver that enables > WIRELESS_EXT, for example PRISM54 or IPW2200" > Not sure if this is a satisfactory way to handle it -- why would I need to compile the kernel for a driver I am not using? I think that starting in 2.6.33 ndiswrapper is checking for CONFIG_CFG80211_WEXT rather than for WIRELESS_EXT; please see http://bugs.gentoo.org/280057
(In reply to comment #2) > Not sure if this is a satisfactory way to handle it -- why would I need to > compile the kernel for a driver I am not using? I think that starting in > 2.6.33 ndiswrapper is checking for CONFIG_CFG80211_WEXT rather than for > WIRELESS_EXT; please see http://bugs.gentoo.org/280057 sure, if you patch it use CFG80211_WEXT, then you need it. the current situation though is that it needs WIRELESS_EXT, which still exists, but can't be enabled directly. enabling a different driver enables WIRELESS_EXT and gives you what you need. broadcom-sta has the same "problem" and the same solution. Also, enabling a driver instead of WIRELESS_EXT directly doesn't really make a difference. The problem with the patch in the other bug is that it would've been applied conditionally which means different source for different systems - or I'd have to bump the kernel dep to 2.6.33 so that the ebuild doesn't work with older kernels anymore. The latter is also not a satisfactory way for everyone running older kernels.