Search Linux Wireless

cfg80211 question: impedance mismatch of .connect versus .assoc

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



While playing with .auth/.deauth/.assoc/.disassoc 
versus .connect/.disconnect in libertas, I notices two things 
that makes things a bit hard for me.


BSS list driven vs. not
-----------------------
.auth/.assoc provides the BSSID to connect to. If cfg80211's BSS 
list is empty, it even will do a scan before 
calling .auth/.assoc.

However, for the .connect method this isn't true. .connect just 
get's the SSID.

My problem here is that the CMD_802_11_ASSOCIATE command for the 
libertas' firmware wants the AP's BSSID to connect to. For now, 
I do this:

	if (sme->bssid) {
		bss = cfg80211_get_bss(wiphy, sme->channel, sme->bssid,
			sme->ssid, sme->ssid_len,
			WLAN_CAPABILITY_ESS, WLAN_CAPABILITY_ESS);
	} else {
		ret = -ENOTSUPP;
		goto done;
	}

This makes the "iw connect" command only work if an "iw scan" did 
just take place and I provide an BSS on the command line. 

So maybe net/wireless/sme.c should be generalized ?



BSSID for .deauth/.disassoc vs. .disconnect
-------------------------------------------
Both the .deauth and .disassoc get the cfg80211_bss entry to 
deauth / disassociate against.

.disconnect doesn't get this.

But I need the BSSID for the CMD_802_11_DISASSOCIATE command, so 
I need to store the BSSID locally in priv->XXX. But I'm quite 
sure that cfg80211 already knows to which bssid I'm connected 
(see "iw xxx link"), so it's not nice that I need to store this 
twice.

-- 
http://www.holgerschurig.de
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux