WARP Project Forums - Wireless Open-Access Research Platform

You are not logged in.

#1 2017-Apr-13 03:51:23

toance0901
Member
Registered: 2016-May-17
Posts: 22

Handshake flow in C code

Hello everybody!

I want to deep understand about how to system (802.11 Reference Design for WARP v3 ) working, so I read wlan_mac_ap.c and wlan_mac_sta.c code and I have two questions:
       1. In MAC part of document talk about handshake flow but I can't see it in C code, so Where can I find it?
       2. In transport_poll(WLAN_EXP_ETH) function with WLAN_EXP_ETH = ETH_B_MAC, so Can I use ETH_A_MAC in this function?

Thank you! ^_^

Offline

 

#2 2017-Apr-13 09:29:50

chunter
Administrator
From: Mango Communications
Registered: 2006-Aug-24
Posts: 1212

Re: Handshake flow in C code

toance0901 wrote:

1. In MAC part of document talk about handshake flow but I can't see it in C code, so Where can I find it?

Are you referring the association handshake? Most of the handshake procedure is implemented in the "mpdu_rx_process()" function in the AP. Specifically,

1. The AP generates a probe response as a reaction to receiving a probe request here.
2. The AP generates an approval or disapproval in response to an authentication packet here.
3. The AP generates an association response in reaction to the reception of an association request here.

On the STA side, probe requests are sent as part of the active scan procedure. Authentication and association request frames are sent as part of the "join" procedure.


toance0901 wrote:

2. In transport_poll(WLAN_EXP_ETH) function with WLAN_EXP_ETH = ETH_B_MAC, so Can I use ETH_A_MAC in this function?

The assumption that ETH_A is used for the Ethernet portal and ETH_B is used for wlan_exp is fairly hardcoded into the design. While this could be changed, it's more complicated than just changing the WLAN_EXP_ETH definition. You'd have to release control of ETH_A from the Ethernet portal code. If I might ask, what is the goal in using ETH_A for wlan_exp vs. ETH_B?

Offline

 

#3 2017-Apr-18 11:08:26

toance0901
Member
Registered: 2016-May-17
Posts: 22

Re: Handshake flow in C code

My goal in using ETH_A for wlan_exp vs ETH_B wich I will use to ETH_A send data( is generated by user) on PC to AP, then data is send to STA. So, Can I do it on ETH_A which wire network?

Thank you!

Offline

 

#4 2017-Apr-19 16:43:49

chunter
Administrator
From: Mango Communications
Registered: 2006-Aug-24
Posts: 1212

Re: Handshake flow in C code

I'm not sure I understand what you are trying to do. You want to flip the interfaces so that ETH_A talks to a host PC for wlan_exp and ETH_B does the Ethernet bridge portal behavior? If so, what does that buy you?

The short answer is, sure, the physical interface is arbitrary and its conceivable to build a version of the design that flips which interface does what. The longer answer is that this is more complex than changing a few lines of C code. For example, wlan_exp use of ETH_B is all based on polling while the Ethernet bridging behavior on ETH_A is all done with interrupts. This is an easy way for the design to place priority on dealing with ETH_A packets that need to turn into wireless transmissions over ETH_B packets that are only used for controlling the experiment. I'm not even sure the ETH_B interrupt is connected to the interrupt controller in hardware since we do not use it. If that is the case, you'd have to make changes to the underlying EDK design to hook up ETH_B's interrupt and disable ETH_A. This is doable, but you'll need to deeply study both the design's EDK project as well as all of the software in the SDK project.

Offline

 

Board footer