On Tue, 2009-04-14 at 14:37 +0100, Mark Cave-Ayland wrote:
> Hi there,
>
> I'm in the process of migrating a server from madwifi drivers to ath5k
> drivers, and I am experiencing problems setting up VAPs. I'm using a
> 2.6.29 kernel, with a customised ath5.ko module to enable use as an AP,
> with iw-0.9.12.
>
> When I modprobe the ath5k driver, I get a wlan0 interface show up in the
> output of iwconfig which seems fine. But now I want to add 2 interfaces
> to wlan0 like this:
>
> iw dev wlan0 interface add ath0 type __ap
> iw dev wlan0 interface add ath1 type __ap
>
> This then gives the following output in iwconfig:
>
> wmaster0 no wireless extensions.
>
> wlan0 IEEE 802.11bg ESSID:""
> Mode:Managed Frequency:2.412 GHz Access Point: Not-Associated
> Tx-Power=0 dBm
> Retry min limit:7 RTS thr:off Fragment thr=2352 B
> Encryption key:off
> Power Management:off
> Link Quality:0 Signal level:0 Noise level:0
> Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
> Tx excessive retries:0 Invalid misc:0 Missed beacon:0
>
> ath0 IEEE 802.11bg Mode:Master Frequency:2.412 GHz Tx-Power=0 dBm
> Retry min limit:7 RTS thr:off Fragment thr=2352 B
> Encryption key:off
> Power Management:off
> Link Quality:0 Signal level:0 Noise level:0
> Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
> Tx excessive retries:0 Invalid misc:0 Missed beacon:0
>
> ath1 IEEE 802.11bg Mode:Master Frequency:2.412 GHz Tx-Power=0 dBm
> Retry min limit:7 RTS thr:off Fragment thr=2352 B
> Encryption key:off
> Power Management:off
> Link Quality:0 Signal level:0 Noise level:0
> Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
> Tx excessive retries:0 Invalid misc:0 Missed beacon:0
>
>
> Unfortunately when I try and set the SSID for each of the interfaces, iw
> fails with the following error:
>
> foo:/usr/sbin# iwconfig ath0 essid "sirius1"
> Error for wireless request "Set ESSID" (8B1A) :
> SET failed on device ath0 ; Operation not supported.
> foo:/usr/sbin# iwconfig ath1 essid "sirius2"
> Error for wireless request "Set ESSID" (8B1A) :
> SET failed on device ath1 ; Operation not supported.
>
> Can anyone point me in the right direction at all?
This is very simple. Ath5k and many other drivers just don't support
several VAPs.
The only exception is monitor + anything else, because this is supported
transparently by mac8012.
For code see:
static int ath5k_add_interface(struct ieee80211_hw *hw,
struct ieee80211_if_init_conf *conf)
{
struct ath5k_softc *sc = hw->priv;
int ret;
mutex_lock(&sc->lock);
if (sc->vif) { <<<<<<<<<
ret = 0;
goto end;
}
sc->vif = conf->vif;
}
This function is called each time an interface is brought up, but ath5k
and many others will just bring up first one and save its structure in
sc->vif, others are just ignored.
It isn't trivial to fix, as we need to make driver virtual interace
aware.
Iwlwifi does the same sadly, but I think ath9k not.
Best regards,
Maxim Levitsky
_______________________________________________
ath5k-devel mailing list
[email protected]
https://lists.ath5k.org/mailman/listinfo/ath5k-devel