LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (http://www.linuxquestions.org/questions/slackware-14/)
-   -   Unable to connect to TKIP encrypted network using BCM43xx & wpa_supplicant (http://www.linuxquestions.org/questions/slackware-14/unable-to-connect-to-tkip-encrypted-network-using-bcm43xx-and-wpa_supplicant-481133/)

SlackwareInAZ 09-06-2006 11:51 PM

Unable to connect to TKIP encrypted network using BCM43xx & wpa_supplicant
 
While waiting for Pat to finalize Slackware 11.0, I've been playing around with the new bcm4306 driver that is part of the 2.6.17 kernel.

I have it compiled into 2.6.17.11, as a module, along with the IEE80211 network stack and Softmac.

No problem connecting to an unencrypted connection. When I try to connect to my TKIP encrypted network using wpa_supplicant 0.4.9, it won't accept the psk key, so dhcpcd won't give me an IP address.

I use the standard wpa_supplicant.conf file:

ctrl_interface=/var/run/wpa_supplicant

network={
ssid="xxxxxx"
proto=WPA
scan_ssid=1
key_mgmt=WPA-PSK
pairwise=CCMP TKIP
group=CCMP TKIP WEP104 WEP40
psk="xxxxxxx"
priority=2
}

This file works fine for my TKIP network when I use ndiswrapper, but not for bcm43xx module.

I am thinking that wpa_supplicant doesn't handle this module. It was compiled with this .config file:

CONFIG_DRIVER_WEXT=y
CONFIG_CTRL_IFACE=y

and here is the script I use to bring up the eth1 interface:

modprobe bcm43xx
ifconfig eth1 up
iwlist eth1 scan
iwconfig eth1 channel 6
iwconfig eth1 essid "xxxxxxx"
/usr/local/sbin/wpa_supplicant -Dwext -Bw -ieth1 -c /etc/wpa_supplicant.conf
/sbin/dhcpcd -N -R -Y -d eth1
/sbin/ifconfig lo 127.0.0.1
/sbin/route add -net 127.0.0.0 netmask 255.0.0.0 lo

All the modules found in the /lib/modules/2.6.17.11/kernel/crypto and /kernel/net folders are loaded.

Has anyone been able to get bcm43xx to work with an encrypted network using softmac and wpa_supplicant? I even tried the 0.5.4 version in testing without success.

When I changed the wpa_supplicant string above to
/usr/local/sbin/wpa_supplicant -Dwext -ieth1 -c -dddd > /etc/wpa.txt

and examined the text file it showed that the 4 way psk handshake was not being negotiated. I think I need to compile wpa_supplicant with more than wext. I tried CONFIG_DRIVER_BROADCOM=y, but it would not compile, so I am at a loss on what else to try :'(

Any suggestions would be most welcome.

Thanks,
Gary

Hangdog42 09-07-2006 07:22 AM

I've been using wpa_supplicant with bcm43xx and not having any real trouble. Most of the networks I'm on are WEP encrypted however, so I don't have a lot of experience on WPA encrypted. Just for comparison, I start wpa_supplicant like this:

wpa_supplicant -Bw -Dwext -c/etc/wpa_supplicant.conf -ieth0

And my config file looks like this:

network={
ssid="HomeSSID"
key_mgmt=NONE
auth_alg=SHARED
group=WEP104
wep_key0=HexWEPKey
wep_tx_keyidx=0
priority=5
}
network={
ssid="AnotherSSID"
key_mgmt=NONE
auth_alg=SHARED
group=WEP40
wep_key0="WEPHexKEy"
wep_tx_keyidx=0
priority=4
}
network={
ssid="AThirdSSID"
key_mgmt=NONE
auth_alg=SHARED
group=WEP40
wep_key0=WEPHexKey
wep_tx_keyidx=0
priority=1
}
network={
ssid="WPA_NETOWRK_SSID"
scan_ssid=1
key_mgmt=WPA-PSK
pairwise=TKIP
group=TKIP
psk="WPA_Passphrase"
priority=1
}

One thing I notice is that you're using iwconfig to partially configure the card prior to calling wpa_supplicant. You probably don't need to do this since wpa_supplicant will configure the card.

Quote:

I think I need to compile wpa_supplicant with more than wext. I tried CONFIG_DRIVER_BROADCOM=y, but it would not compile, so I am at a loss on what else to try :'(
As far as drivers go, no you don't need to use anything besides wext. However, did you compile the various encryption options? And don't use that Broadcom setting. I have no idea what chipset that is meant for, but I think it is actually one fo their wired cards. It certainly isn't for any Broadcom wireless card. At any rate, here is the .config I use:

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



All times are GMT -5. The time now is 03:52 PM.