WARP Project Forums - Wireless Open-Access Research Platform

You are not logged in.

#1 2018-Mar-12 18:14:21

Registered: 2018-Mar-12
Posts: 1

Extracting packet sizes and timestamps from Warp reference design

I'm new to Warp. I want to setup an experiment wherein one Warp board is configured to be an Access point and a few more as STAs. The STAs will be doing a TCP/UDP download or upload.

I want to keep a log of each packet that passes through the access point.

I'm looking for the following timestamps for each packet:

- When a packet was queued for downlink transmission at the AP
- When the AP started to contend on the wireless channel for the first time to transmit the packet (there can be collisions, etc. which can lead to re-transmissions but I'm not interested in those timestamps)
- When the packet was transmitted successfully on the downlink by the AP
- When a packet was received on the uplink by the AP.

and the corresponding packet sizes for each of the above 4 cases. Also, some kind of an identifier to know whether the timestamps belong to a particular packet or another packet (e.g. there can be a time when the packet was queued, when the AP started to contend and when the packet was successfully transmitted. But it's important to know that all the timestamps belong to a specific packet or different packets.)

If anyone knows of any way of getting the above information, can you please help me out.



#2 2018-Mar-12 21:44:39

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

Re: Extracting packet sizes and timestamps from Warp reference design

The 802.11 Reference Design for WARP v3 implements all this functionality by default, including the detailed logging of every wireless Tx/Rx event at every node. You will need to use the wlan_exp Python framework to interact with the nodes, retrieve their logs, and process the log data. I would suggest getting started with the wlan_exp example scripts, then building your application from there. The full list of log entries and fields in each log entry are in the user guide. The timestamps you describe above can be derived from the TX_HIGH[timestamp, time_to_accept, time_to_done], TX_LOW[timestamp], and RX_OFDM[timestamp] fields.



Board footer