I have studied 802.11 standards recently and have some doubts in it :
1) It talks about SME handling many WLAN activities like triggering scan, authetication, association, re-association etc. Are there any standard APIs available for applications to trigger SME. For e.g., when WLAN connection application starts, it should tell SME to start scanning. How can I send such a command to SME ?
2) It is left to MAC layer to select the datarate for frame transmission. But is it possible to pass this information from an application to WLAN MAC layer to select a particular data rate ?
3) How does the information about available WLAN networks in an area come to the application ? For e.g., when connecting to WLAN, I see a list of networks available and then I can select one of the networks to which I want to get connected. From where and how does this information come ?
I have a lot of questions for which I haven't found answers yet. It will be great if I can find answers on this forum. Thanks in advance.
Question 1: SME is a layer independent entity that resides off to the side that is responsible for gathering information from layer specific management entities (ie MLME and PLME). The problem with your question is that what the SME is not defined by the 802.11 standard. It is my understanding that most of the workings between the SME and the PHY/Mac layers are vendor specific.
Question 2: You more than likely could alter the device drivers to facilitate the linkage between an application and a particular data rate, but that is a very sensitive area. Data rate as you know is a sensitive balance between signal strength and error free throughput. I think you would be more successful if you approached it from the standpoint of frame priority instead. This is being developed quite heavily right now. You could research QoS and WMM as it might be interesting to you.
Question 3: The initial discovery phase after a wireless device is activated is controlled by either of two methods. This is a simplistic explanation and you can find more detailed information if you research the 802.11 standard. Passive Scanning is where the STA is listening for Beacon frames from a wireless network controlling device. All of the information you are interested in is published in that frame. If there is no AP actively sending Beacon frames or after a certain period of not hearing a Beacon frame, the STA will instigate Active Scanning where it sends out Probe Request frames asking for any active device to send it the exact same information that it would have received in a Beacon frame. If an AP receives the Probe Request frame, it will respond with a Probe Response frame. The Probe Response frame contains the appropriate information that the STA needs to associate with the AP.
Thanks for the reply. Further to your mail, interfaces between SME and pther layers (MLME, PLME) are well-defined in IEEE standards, but the interfaces between SME and applications are not at all defined. Aren't there any such standard interfaces available.
I'm working on a project where I've to design an abstraction layer between applications and WLAN protocol stack. One of the scenarios in this task is that I will get a LineQuery from aplication for which abstraction layer should contact WLAN stack (SME,I guess) and get the available networks information and pass this info to applications. The beacon frame and probe response frame has the desired information but how do I get this information out of protocol stack to my module ? That's why, I've been looking for such standard interfaces between SME and applications.
With respect to datarate, do you mean to say that applications don't decide about the datarate of frames at all ? Is it solely decided by MAC layer in most applications ?
It's very interesting and helpful to be a part of such forum.