LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Wireless Networking (https://www.linuxquestions.org/questions/linux-wireless-networking-41/)
-   -   Problems Installing wpasupplicant with ndiswrapper Drivers (https://www.linuxquestions.org/questions/linux-wireless-networking-41/problems-installing-wpasupplicant-with-ndiswrapper-drivers-467443/)

tom_w 07-25-2006 09:20 AM

Problems Installing wpasupplicant with ndiswrapper Drivers
 
Hi all,

I'm currently having trouble installing wpasupplicant with ndiswrapper drivers.

My reason for installing wpasupplicant is that my home wireless network uses WPA-PSK encryption.

wpasupplicant installs fine without adding the ndiswrapper support (which I need) in the installation .config file.

However if I add ndiswrapper to the .config file I get errors from gcc complaining about missing header files:

- Packet32.h
- ntddndis.h

which are included in driver_ndis.c

Does anyone know what package these header files are part of and how I might go about aquiring/installing them?

It's taken a while to get this far and I'm not ready to give up yet...

Any suggestions much appreciated!

(I'm using Ubuntu 5.10 and a Netgear Wireless WG111T USB Adaptor)

Hangdog42 07-25-2006 10:09 AM

Can you post your .config file? And in the meantime, just for comparison, here is mine and ndiswrapper doesn't screw up the compile.
Code:

# Driver interface for Host AP driver
CONFIG_DRIVER_HOSTAP=y
# Driver interface for ndiswrapper
CONFIG_DRIVER_NDISWRAPPER=y
# Driver interface for generic Linux wireless extensions
CONFIG_DRIVER_WEXT=y
# Driver interface for wired Ethernet drivers
CONFIG_DRIVER_WIRED=y
# Enable IEEE 802.1X Supplicant (automatically included if any EAP method is
# included)
CONFIG_IEEE8021X_EAPOL=y
# EAP-MD5 (automatically included if EAP-TTLS is enabled)
CONFIG_EAP_MD5=y
# EAP-MSCHAPv2 (automatically included if EAP-PEAP is enabled)
CONFIG_EAP_MSCHAPV2=y
# EAP-TLS
CONFIG_EAP_TLS=y
# EAL-PEAP
CONFIG_EAP_PEAP=y
# EAP-TTLS
CONFIG_EAP_TTLS=y
# EAP-GTC
CONFIG_EAP_GTC=y
# EAP-OTP
CONFIG_EAP_OTP=y
# LEAP
CONFIG_EAP_LEAP=y
# PKCS#12 (PFX) support (used to read private key and certificate file from
# a file that usually has extension .p12 or .pfx)
CONFIG_PKCS12=y
# Select configuration backend:
# file = text file (e.g., wpa_supplicant.conf)
CONFIG_BACKEND=file


tom_w 07-25-2006 03:36 PM

Hi, here's the contents of my .config file. It's basically the default one supplied with a couple of lines uncommented.

I forgot to mention before I'm using wpasupplicant version 0.4.9 if that's any use.

Having done a quick eyeball over your config I've noticed I've got the line
#CONFIG_DRIVER_NDISWRAPPER=y
commented in mine, and the line
# Driver interface for Windows NDIS
CONFIG_DRIVER_NDIS=y
uncommented, which I hadn't realised before. So I'll check that before I go any further. Hope I haven't made a really dumb error here...

Here's my .config anyway. It's quite long but I figured best to include the whole thing:

Code:

# Example wpa_supplicant build time configuration
#
# This file lists the configuration options that are used when building the
# hostapd binary. All lines starting with # are ignored. Configuration option
# lines must be commented out complete, if they are not to be included, i.e.,
# just setting VARIABLE=n is not disabling that variable.
#
# This file is included in Makefile, so variables like CFLAGS and LIBS can also
# be modified from here. In most cases, these lines should use += in order not
# to override previous values of the variables.


# Uncomment following two lines and fix the paths if you have installed openssl
# in non-default location
CFLAGS += -I/usr/include/openssl
#LIBS += -L/usr/local/openssl/lib

# Some Red Hat versions seem to include kerberos header files from OpenSSL, but
# the kerberos files are not in the default include path. Following line can be
# used to fix build issues on such systems (krb5.h not found).
#CFLAGS += -I/usr/include/kerberos

# Example configuration for various cross-compilation platforms

#### sveasoft (e.g., for Linksys WRT54G) ######################################
#CC=mipsel-uclibc-gcc
#CC=/opt/brcm/hndtools-mipsel-uclibc/bin/mipsel-uclibc-gcc
#CFLAGS += -Os
#CPPFLAGS += -I../src/include -I../../src/router/openssl/include
#LIBS += -L/opt/brcm/hndtools-mipsel-uclibc-0.9.19/lib -lssl
###############################################################################

#### openwrt (e.g., for Linksys WRT54G) #######################################
#CC=mipsel-uclibc-gcc
#CC=/opt/brcm/hndtools-mipsel-uclibc/bin/mipsel-uclibc-gcc
#CFLAGS += -Os
#CPPFLAGS=-I../src/include -I../openssl-0.9.7d/include \
#        -I../WRT54GS/release/src/include
#LIBS = -lssl
###############################################################################


# Driver interface for Host AP driver
CONFIG_DRIVER_HOSTAP=y

# Driver interface for Agere driver
#CONFIG_DRIVER_HERMES=y
# Change include directories to match with the local setup
#CFLAGS += -I../../hcf -I../../include -I../../include/hcf
#CFLAGS += -I../../include/wireless

# Driver interface for madwifi driver
#CONFIG_DRIVER_MADWIFI=y
# Change include directories to match with the local setup
#CFLAGS += -I../madwifi/wpa

# Driver interface for Prism54 driver
# (Note: Prism54 is not yet supported, i.e., this will not work as-is and is
# for developers only)
#CONFIG_DRIVER_PRISM54=y

# Driver interface for ndiswrapper
#CONFIG_DRIVER_NDISWRAPPER=y

# Driver interface for Atmel driver
CONFIG_DRIVER_ATMEL=y

# Driver interface for Broadcom driver
#CONFIG_DRIVER_BROADCOM=y
# Example path for wlioctl.h; change to match your configuration
#CFLAGS += -I/opt/WRT54GS/release/src/include

# Driver interface for Intel ipw2100/2200 driver
#CONFIG_DRIVER_IPW=y

# Driver interface for generic Linux wireless extensions
CONFIG_DRIVER_WEXT=y

# Driver interface for FreeBSD net80211 layer (e.g., Atheros driver)
#CONFIG_DRIVER_BSD=y
#CFLAGS += -I/usr/local/include
#LIBS += -L/usr/local/lib

# Driver interface for Windows NDIS
CONFIG_DRIVER_NDIS=y
#CFLAGS += -I/usr/include/w32api/ddk
#LIBS += -L/usr/local/lib
# For native build using mingw
#CONFIG_NATIVE_WINDOWS=y
# Additional directories for cross-compilation on Linux host for mingw target
#CFLAGS += -I/opt/mingw/mingw32/include/ddk
#LIBS += -L/opt/mingw/mingw32/lib
#CC=mingw32-gcc

# Driver interface for development testing
#CONFIG_DRIVER_TEST=y

# Driver interface for wired Ethernet drivers
CONFIG_DRIVER_WIRED=y

# Enable IEEE 802.1X Supplicant (automatically included if any EAP method is
# included)
CONFIG_IEEE8021X_EAPOL=y

# EAP-MD5 (automatically included if EAP-TTLS is enabled)
CONFIG_EAP_MD5=y

# EAP-MSCHAPv2 (automatically included if EAP-PEAP is enabled)
CONFIG_EAP_MSCHAPV2=y

# EAP-TLS
CONFIG_EAP_TLS=y

# EAL-PEAP
CONFIG_EAP_PEAP=y

# EAP-TTLS
CONFIG_EAP_TTLS=y

# EAP-GTC
CONFIG_EAP_GTC=y

# EAP-OTP
CONFIG_EAP_OTP=y

# EAP-SIM (enable CONFIG_PCSC, if EAP-SIM is used)
#CONFIG_EAP_SIM=y

# EAP-PSK (experimental; this is _not_ needed for WPA-PSK)
#CONFIG_EAP_PSK=y

# EAP-PAX
#CONFIG_EAP_PAX=y

# LEAP
CONFIG_EAP_LEAP=y

# EAP-AKA (enable CONFIG_PCSC, if EAP-AKA is used)
#CONFIG_EAP_AKA=y

# PKCS#12 (PFX) support (used to read private key and certificate file from
# a file that usually has extension .p12 or .pfx)
CONFIG_PKCS12=y

# Smartcard support (i.e., private key on a smartcard), e.g., with openssl
# engine.
CONFIG_SMARTCARD=y

# PC/SC interface for smartcards (USIM, GSM SIM)
# Enable this if EAP-SIM or EAP-AKA is included
#CONFIG_PCSC=y

# Development testing
#CONFIG_EAPOL_TEST=y

# Replace native Linux implementation of packet sockets with libdnet/libpcap.
# This will be automatically set for non-Linux OS.
#CONFIG_DNET_PCAP=y

# Include control interface for external programs, e.g, wpa_cli
CONFIG_CTRL_IFACE=y

# Include support for GNU Readline and History Libraries in wpa_cli.
# When building a wpa_cli binary for distribution, please note that these
# libraries are licensed under GPL and as such, BSD license may not apply for
# the resulting binary.
#CONFIG_READLINE=y

# Remove debugging code that is printing out debug message to stdout.
# This can be used to reduce the size of the wpa_supplicant considerably
# if debugging code is not needed. The size reduction can be around 35%
# (e.g., 90 kB).
#CONFIG_NO_STDOUT_DEBUG=y

# Remove WPA support, e.g., for wired-only IEEE 802.1X supplicant, to save
# 35-50 kB in code size.
#CONFIG_NO_WPA=y

# Select configuration backend:
# file = text file (e.g., wpa_supplicant.conf)
CONFIG_BACKEND=file


Hangdog42 07-25-2006 04:14 PM

I would also be tempted to comment out the CONFIG_DRIVER_WIRED=y unless you have a real need for it. Compiling wpa_supplicant can be tricky and my approach has been to start by putting in only the things I absolutely have to have and then slowly add from there.

tom_w 07-26-2006 03:25 AM

A few tweaks of the config file later and everythings works!
Thanks v much for your assistance

Hangdog42 07-26-2006 07:08 AM

Can I ask what the offending configuration entry was?

tom_w 07-27-2006 11:41 AM

Yep. Very slightly altered the config I'd posted above:

Uncommented this line:

Code:

# Driver interface for ndiswrapper
CONFIG_DRIVER_NDISWRAPPER=y

and re-commented this line (which I'd previously uncommented):

Code:

# Driver interface for Windows NDIS
CONFIG_DRIVER_NDIS=y

It seems maybe that second one refers to actually using ndiswrapper on Windows (rather than using Windows drivers for a given device on Linux) which I didn't realise was possible.


All times are GMT -5. The time now is 06:44 AM.