On Wed, Mar 15, 2006 at 07:24:05PM +0100, Jiri Benc wrote:
> On Wed, 15 Mar 2006 09:52:26 -0800, Jouni Malinen wrote:
> > This sounds good, but I was unable to get this working. I created a WDS
> > link with initial peer address 00:01:02:03:04:05. This added the netdev
> > and STA entry correctly. However, when I run "iwconfig wds0 ap
> > 00:11:22:33:44:55", I do not see any change in either the WDS data
> > (/proc/net/ieee80211/wlan0/iface/wds0 did not show change in wds.peer)
> > or STA info (00:11:22:33:44:55 was not added in
> > /proc/net/ieee80211/wlan0/sta directory).
> Interesting. It shouldn't be in any way different than using
> PRISM2_HOSTAPD_UPDATE_IF ioctl.
>
> I can't find any problem looking at the patch and I'm unable to try it
> now - I have to find out why my notebook freezes first :-/
Neither did I at first, but after some debugging, I would assume that
you actually meant to return from ieee80211_ioctl_siwap() if the
previous address is identical to the new one, not if it has changed.. In
other words:
Index: wireless-2.6/net/d80211/ieee80211_ioctl.c
===================================================================
--- wireless-2.6.orig/net/d80211/ieee80211_ioctl.c
+++ wireless-2.6/net/d80211/ieee80211_ioctl.c
@@ -1871,7 +1871,7 @@ static int ieee80211_ioctl_siwap(struct
return ieee80211_sta_set_bssid(dev, (u8 *) &ap_addr->sa_data);
} else if (sdata->type == IEEE80211_SUB_IF_TYPE_WDS) {
if (memcmp(sdata->u.wds.remote_addr, (u8 *) &ap_addr->sa_data,
- ETH_ALEN) != 0)
+ ETH_ALEN) == 0)
return 0;
return ieee80211_if_update_wds(dev, (u8 *) &ap_addr->sa_data);
}
This was enough to fix wds.peer address and get rid of the old STA
entry. However, new STA entry was not added for the new peer address.
PS.
I have now tested AP mode up to and including patch 5/13. This was
still allowing multi-BSSID to be used successfully. Patch 6/13 breaks
multi-BSSID configuration since our low-level driver needs bssid_mask
and bss_count to be configured. I need to take a closer look at how this
can be avoided with the new add_interface notification and automatic
BSSID mask calculation at the low-level driver.
Patch 7/13 breaks everything since we currently start with radio
disabled by default.. I can change that to be the other way around to
avoid this, but there are still some cases that need to be resolved
(e.g., need to stop TX/RX when a radar is detected for the duration of
scan for a new channel). I don't want to bring down all network
interfaces for that, so some kind of mechanism for temporarily disabling
TX/RX would be useful to have.
--
Jouni Malinen PGP id EFC895FA
-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html