hostap-0.6.4 + ath5k

=?gb2312?q?=CD=F5=ABh?= wangyue0921
Tue Oct 7 17:59:27 PDT 2008


Hi,all
I deployed hostap0.6.4 + ath5k, and got 2 problems.

My env is: kernel 2.6.26, hostap 0.6.4
compat-wireless-old-2008-10-06.tar.bz2
libnl-1.0-pre8.tar.tar

1. when make wireless souce tree, there are several
WARNINGs:
  Building modules, stage 2.

  MODPOST 39 modules
WARNING: "ieee80211_hdrlen"
[/home/wangyue/VLAN_WPA_ath5k/compat-wireless-2.6-old/drivers/net/wireless/iwlwifi/iwlcore.ko]
undefined!
WARNING: "ieee80211_hdrlen"
[/home/wangyue/VLAN_WPA_ath5k/compat-wireless-2.6-old/drivers/net/wireless/iwlwifi/iwl3945.ko]
undefined!
WARNING: "ieee80211_hdrlen"
[/home/wangyue/VLAN_WPA_ath5k/compat-wireless-2.6-old/drivers/net/wireless/b43legacy/b43legacy.ko]
undefined!
WARNING: "ieee80211_hdrlen"
[/home/wangyue/VLAN_WPA_ath5k/compat-wireless-2.6-old/drivers/net/wireless/b43/b43.ko]
undefined!
WARNING: "ieee80211_hdrlen"
[/home/wangyue/VLAN_WPA_ath5k/compat-wireless-2.6-old/drivers/net/wireless/ath5k/ath5k.ko]
undefined!
WARNING: "ieee80211_hdrlen"
[/home/wangyue/VLAN_WPA_ath5k/compat-wireless-2.6-old/drivers/net/wireless/adm8211.ko]
undefined!

And ath5k.ko can not be insmod properly:
[root at telnetserver ath5k]# insmod ath5k.ko
insmod: error inserting 'ath5k.ko': -1 Unknown symbol
in module
the "dmesg" shows:
ath5k: Unknown symbol ieee80211_hdrlen

So what can i do for this problem.

2. When I insmod the ath5k.ko from the linux kernel 
2.6.26, the wlan0 can work well.
But the hostapd can not work:

[root at telnetserver hostapd]# ./hostapd -dd
./hostapd.conf
Configuration file: ./hostapd.conf
ctrl_interface_group=0
nl80211 not found.
nl80211 driver initialization failed.
wlan0: Unable to setup interface.
Flushing old station entries
Deauthenticate all stations
rmdir[ctrl_interface]: No such file or directory
Could not remove VLAN iface: vlan1: Illegal seek
Could not remove VLAN iface: vlan2: Illegal seek
Could not remove VLAN iface: vlan3: Illegal seek
Could not remove VLAN iface: guest: Illegal seek

Though i haven't patch the ath5k's driver from linux
kernel 2.6.26 for AP mode, hostapd can not run as AP
mode indeed. 
But i think this problem happened when nl80211 was 
initialized (function i802_init) and AP mode will be
set later, not at this time.

Following is my kernel config and hostap's config.
kernel config(part of the .config):
#
# Wireless
#
CONFIG_CFG80211=y
CONFIG_NL80211=y
CONFIG_WIRELESS_EXT=y
CONFIG_MAC80211=y

#
# Rate control algorithm selection
#
CONFIG_MAC80211_RC_DEFAULT_PID=y
# CONFIG_MAC80211_RC_DEFAULT_NONE is not set

#
# Selecting 'y' for an algorithm will
#

#
# build the algorithm into mac80211.
#
CONFIG_MAC80211_RC_DEFAULT="pid"
CONFIG_MAC80211_RC_PID=y
# CONFIG_MAC80211_MESH is not set
CONFIG_MAC80211_LEDS=y
CONFIG_MAC80211_DEBUGFS=y
CONFIG_MAC80211_DEBUG_PACKET_ALIGNMENT=y
CONFIG_MAC80211_DEBUG=y
# CONFIG_MAC80211_HT_DEBUG is not set
# CONFIG_MAC80211_VERBOSE_DEBUG is not set
# CONFIG_MAC80211_LOWTX_FRAME_DUMP is not set
# CONFIG_TKIP_DEBUG is not set
# CONFIG_MAC80211_DEBUG_COUNTERS is not set
# CONFIG_MAC80211_IBSS_DEBUG is not set
# CONFIG_MAC80211_VERBOSE_PS_DEBUG is not set
CONFIG_IEEE80211=y
CONFIG_IEEE80211_DEBUG=y
CONFIG_IEEE80211_CRYPT_WEP=m
CONFIG_IEEE80211_CRYPT_CCMP=m
CONFIG_IEEE80211_CRYPT_TKIP=m
# CONFIG_RFKILL is not set
# CONFIG_NET_9P is not set

#
# Wireless LAN
#
CONFIG_WLAN_PRE80211=y
# CONFIG_STRIP is not set
# CONFIG_ARLAN is not set
# CONFIG_WAVELAN is not set
CONFIG_PCMCIA_WAVELAN=m
CONFIG_PCMCIA_NETWAVE=m
CONFIG_WLAN_80211=y
# CONFIG_PCMCIA_RAYCS is not set
CONFIG_IPW2100=m
CONFIG_IPW2100_MONITOR=y
# CONFIG_IPW2100_DEBUG is not set
CONFIG_IPW2200=m
CONFIG_IPW2200_MONITOR=y
CONFIG_IPW2200_RADIOTAP=y
CONFIG_IPW2200_PROMISCUOUS=y
CONFIG_IPW2200_QOS=y
# CONFIG_IPW2200_DEBUG is not set
# CONFIG_LIBERTAS is not set
CONFIG_AIRO=m
CONFIG_HERMES=m
CONFIG_PLX_HERMES=m
CONFIG_TMD_HERMES=m
CONFIG_NORTEL_HERMES=m
CONFIG_PCI_HERMES=m
CONFIG_PCMCIA_HERMES=m
CONFIG_PCMCIA_SPECTRUM=m
CONFIG_ATMEL=m
CONFIG_PCI_ATMEL=m
CONFIG_PCMCIA_ATMEL=m
CONFIG_AIRO_CS=m
CONFIG_PCMCIA_WL3501=m
CONFIG_PRISM54=m
CONFIG_USB_ZD1201=m
# CONFIG_USB_NET_RNDIS_WLAN is not set
# CONFIG_RTL8180 is not set
CONFIG_RTL8187=m
CONFIG_ADM8211=m
CONFIG_P54_COMMON=m
CONFIG_P54_USB=m
CONFIG_P54_PCI=m
CONFIG_ATH5K=m
CONFIG_ATH5K_DEBUG=y
CONFIG_IWLWIFI=m
# CONFIG_IWLCORE is not set
# CONFIG_IWLWIFI_LEDS is not set
# CONFIG_IWL4965 is not set
CONFIG_IWL3945=m
# CONFIG_IWL3945_SPECTRUM_MEASUREMENT is not set
# CONFIG_IWL3945_LEDS is not set
# CONFIG_IWL3945_DEBUG is not set
CONFIG_HOSTAP=m
CONFIG_HOSTAP_FIRMWARE=y
CONFIG_HOSTAP_FIRMWARE_NVRAM=y
CONFIG_HOSTAP_PLX=m
CONFIG_HOSTAP_PCI=m
CONFIG_HOSTAP_CS=m
CONFIG_B43=m
CONFIG_B43_PCI_AUTOSELECT=y
CONFIG_B43_PCICORE_AUTOSELECT=y
CONFIG_B43_PCMCIA=y
CONFIG_B43_PIO=y
CONFIG_B43_LEDS=y
CONFIG_B43_DEBUG=y
# CONFIG_B43_FORCE_PIO is not set
CONFIG_B43LEGACY=m
CONFIG_B43LEGACY_PCI_AUTOSELECT=y
CONFIG_B43LEGACY_PCICORE_AUTOSELECT=y
CONFIG_B43LEGACY_LEDS=y
CONFIG_B43LEGACY_DEBUG=y
CONFIG_B43LEGACY_DMA=y
CONFIG_B43LEGACY_PIO=y
CONFIG_B43LEGACY_DMA_AND_PIO_MODE=y
# CONFIG_B43LEGACY_DMA_MODE is not set
# CONFIG_B43LEGACY_PIO_MODE is not set
# CONFIG_ZD1211RW is not set
CONFIG_RT2X00=m
CONFIG_RT2X00_LIB=m
CONFIG_RT2X00_LIB_PCI=m
CONFIG_RT2X00_LIB_USB=m
CONFIG_RT2X00_LIB_FIRMWARE=y
CONFIG_RT2400PCI=m
# CONFIG_RT2400PCI_RFKILL is not set
# CONFIG_RT2400PCI_LEDS is not set
CONFIG_RT2500PCI=m
# CONFIG_RT2500PCI_RFKILL is not set
# CONFIG_RT2500PCI_LEDS is not set
CONFIG_RT61PCI=m
# CONFIG_RT61PCI_RFKILL is not set
# CONFIG_RT61PCI_LEDS is not set
CONFIG_RT2500USB=m
# CONFIG_RT2500USB_LEDS is not set
CONFIG_RT73USB=m
# CONFIG_RT73USB_LEDS is not set
# CONFIG_RT2X00_LIB_DEBUGFS is not set
# CONFIG_RT2X00_DEBUG is not set

hostapd's config:
# Example hostapd 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 cass, these lines
should use += in
 order not
# to override previous values of the variables.

# Driver interface for Host AP driver
#CONFIG_DRIVER_HOSTAP=y

# Driver interface for wired authenticator
#CONFIG_DRIVER_WIRED=y

# Driver interface for madwifi driver
#CONFIG_DRIVER_MADWIFI=y
#CFLAGS += -I../head # change to reflect local setup;
directory for
 madwifi src

# Driver interface for Prism54 driver
#CONFIG_DRIVER_PRISM54=y

# Driver interface for drivers using the nl80211
kernel interface
CONFIG_DRIVER_NL80211=y
# driver_nl80211.c requires a rather new libnl,
probably not
# shipped with your distribution yet
LIBNL=/home/wangyue/VLAN_WPA_ath5k/libnl-1.0-pre8
CFLAGS += -I$(LIBNL)/include
LIBS += -L$(LIBNL)/lib
#CFLAGS +=/usr/local/include/
#LIBS +=/usr/local/lib/

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

# IEEE 802.11F/IAPP
CONFIG_IAPP=y

# WPA2/IEEE 802.11i RSN pre-authentication
CONFIG_RSN_PREAUTH=y

# PeerKey handshake for Station to Station Link (IEEE
802.11e DLS)
CONFIG_PEERKEY=y

# IEEE 802.11w (management frame protection)
# This version is an experimental implementation based
on IEEE
 802.11w/D1.0
# draft and is subject to change since the standard
has not yet been
 finalized.
# Driver support is also needed for IEEE 802.11w.
#CONFIG_IEEE80211W=y

# Integrated EAP server
CONFIG_EAP=y

# EAP-MD5 for the integrated EAP server
CONFIG_EAP_MD5=y

# EAP-TLS for the integrated EAP server
CONFIG_EAP_TLS=y

# EAP-MSCHAPv2 for the integrated EAP server
CONFIG_EAP_MSCHAPV2=y

# EAP-PEAP for the integrated EAP server
CONFIG_EAP_PEAP=y

# EAP-GTC for the integrated EAP server
CONFIG_EAP_GTC=y

# EAP-TTLS for the integrated EAP server
CONFIG_EAP_TTLS=y

# EAP-SIM for the integrated EAP server
#CONFIG_EAP_SIM=y

# EAP-AKA for the integrated EAP server
#CONFIG_EAP_AKA=y

# EAP-PAX for the integrated EAP server
#CONFIG_EAP_PAX=y

# EAP-PSK for the integrated EAP server (this is _not_
needed for
 WPA-PSK)
#CONFIG_EAP_PSK=y

# EAP-SAKE for the integrated EAP server
#CONFIG_EAP_SAKE=y

# EAP-GPSK for the integrated EAP server
#CONFIG_EAP_GPSK=y
# Include support for optional SHA256 cipher suite in
EAP-GPSK
#CONFIG_EAP_GPSK_SHA256=y

# EAP-FAST for the integrated EAP server
# Note: Default OpenSSL package does not include
support for all the
# functionality needed for EAP-FAST. If EAP-FAST is
enabled with
 OpenSSL,
# the OpenSSL library must be patched
 (openssl-0.9.9-session-ticket.patch)
# to add the needed functions.
#CONFIG_EAP_FAST=y

# EAP-IKEv2
#CONFIG_EAP_IKEV2=y

# Trusted Network Connect (EAP-TNC)
#CONFIG_EAP_TNC=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

# RADIUS authentication server. This provides access
to the integrated
 EAP
# server from external hosts using RADIUS.
#CONFIG_RADIUS_SERVER=y

# Build IPv6 support for RADIUS operations
CONFIG_IPV6=y

# IEEE 802.11r/D4.1 (Fast BSS Transition)
# This enables an experimental implementation of a
draft version of
# IEEE 802.11r. This draft is still subject to change,
so it should be
 noted
# that this version may not comply with the final
standard.
#CONFIG_IEEE80211R=y

# Use the hostapd's IEEE 802.11 authentication (ACL),
but without
# the IEEE 802.11 Management capability (e.g., madwifi
or
 FreeBSD/net80211)
#CONFIG_DRIVER_RADIUS_ACL=y

CONFIG_FULL_DYNAMIC_VLAN=y


libnl was installed at default path:
/usr/local/include/netlink
/usr/local/lib

There are some troubles on my deployment "hostap + 
nl80211 + ath5k".Thanks for ur kindly response.

Best regards,
WangYue



      ___________________________________________________________ 
 ???????????? 
http://cn.mail.yahoo.com/



More information about the Hostap mailing list