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

Reply via email to