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 ath5k-devel@lists.ath5k.org https://lists.ath5k.org/mailman/listinfo/ath5k-devel