Search Linux Wireless

Improvement in mac80211 to move to a proper state when channel is set from user space

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

 



The problem with the current behaviour of mac80211 when setting a
new channel from user space while interface is in associated state
is, it is still maintainig the associated state even after the h/w 
is set to a different channel and it is sending packets destined 
to the connected AP/STA which is operating in a different freq/band 
in the new channel before detecting that the AP is no more in the 
channel (in this case it is done by sending couple of probe req to 
the associated AP which is obviously operating on a different channel 
after the channel change). I think we need to put the interface into 
a proper state instead of just relying on this tx probe req logic in 
this case. I'm have the following proposals to improve the situation.

Handle proper state transition in wireless handler (ieee80211_ioctl_siwfreq):
For STA mode, move the interface to disassociated state with the associated AP 
in the current channel and move it to scan state to find an appropriate 
AP in the new channel.
For IBSS, mark all the joined ibss stations as not joined in the
current chanel and move the inteface state to scan in the new channel.
For AP mode, move the interface to disassociated state with all
associated stations in current channel and start a BSS in the new
channel.

Handle it from the diver:
Sense the situation from the beacon miss or in config() callback
(with some hacky check) and trigger the disassociation, for this
 we need to add one more notification type in ieee80211_notify_mac() 
for disassoc.

Would like to know comments on this one.

Thanks,
Vasanth
--
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