WARP Project Forums - Wireless Open-Access Research Platform

You are not logged in.

#1 2016-Jul-29 03:29:23

shanon
Member
Registered: 2016-Jun-28
Posts: 5

Extra bytes on payload

For every payload 28 bytes are appended, for example in case of 1400 bytes. 1428 bytes will be sent. What are the 28 bytes for? .... MAC Header and FCS adds up to 24 bytes

Last edited by shanon (2016-Jul-29 04:26:48)

Offline

 

#2 2016-Jul-29 08:06:26

murphpo
Administrator
From: Mango Communications
Registered: 2006-Jul-03
Posts: 5159

Re: Extra bytes on payload

Assuming you're referring to the 802.11 Reference Design- the MAC header on most packets is 24 bytes (see typedef mac_header_80211 in wlan_mac_802_11_defs.h). The FCS is 4 bytes. Together these constitute the 28-byte MAC overhead for most packets. Some packets (like CTS and ACK) use a shorter MAC header; all packets have the same 4-byte FCS.

Offline

 

#3 2016-Jul-30 03:33:28

shanon
Member
Registered: 2016-Jun-28
Posts: 5

Re: Extra bytes on payload

Thank you, Am still new here on using warp board.  One more thing, am interested in measuring transmission time. I was able to measure transmission time for rts and payload, in case of payload it's tx_time is equivalent to 2238 us using 20 mhz channel and NONHT Phy mode which is right. However in c code we can measure rts/cts duration for example using
mac_cfg_length = wlan_create_rts_frame((void*)(TX_PKT_BUF_2_TO_ADDR(TX_PKT_BUF_RTS) + PHY_TX_PKT_BUF_MPDU_OFFSET),
                                                   header->address_1,
                                                   header->address_2,
                                                   rts_header_duration);

            xil_printf("rts_header_duration:%d\n", rts_header_duration);  // nothing

That part does not compile. Is there something to enable first? I thought cts/rts are enabled by default. 

Backoff time can be measured  by (Cmin*nslot)/2 , does  wlan_mac_dcf_hw_start_backoff(... n_slots) give equivalence of that?

Is there any helpful material that would guide in channel switching  during communication session? I have seen that during scan period beacons are sent on all channels but switching channels while packets exchange is on i think would involve several issues.

Offline

 

#4 2016-Jul-30 10:42:57

murphpo
Administrator
From: Mango Communications
Registered: 2006-Jul-03
Posts: 5159

Re: Extra bytes on payload

You need to be more specific about your code changes, what you expected and what you actually observed. If you are seeing compiler errors, there must be errors in your code changes.

A few important points based on your comments:
-You can calculate the Tx time for a given packet using the wlan_ofdm_calc_txtime() function in wlan_phy_util.c. The Tx time of a waveform depends on the PHY mode, MCS, payload length and sampling rate.

-The DURATION field in the MAC header specifies the number of microseconds following the packet that other nodes should defer. Receiving nodes use the DURATION field to update their NAVs. The DURATION field does *not* include the Tx time of the waveform containing the DURATION value. It only includes inter-packet times (SIFS) and Tx times for expected response packets. For example the DURATION value in a DATA packet consists of the SIFS and the Tx time of an ACK.

-I'm not sure what you mean by "(Cmin*nslot)/2". The backoff time is a random number of slot durations, where the random value is drawn from a uniform distribution between 0 and the current contention window.

Is there any helpful material that would guide in channel switching  during communication session? I have seen that during scan period beacons are sent on all channels but switching channels while packets exchange is on i think would involve several issues.

Our frequency hopping MAC app note would be a good resource.

Offline

 

Board footer