WARP Project Forums - Wireless Open-Access Research Platform

You are not logged in.

#1 2017-Feb-06 14:08:55

zhimeng
Member
Registered: 2015-Sep-30
Posts: 47

SIGNAL field of received 802.11g packets

Hi.
I am trying to output the information between the preamble and the MAC payload, such as SIGNAL field, HT-SIG, HT-STF and HT-LTF for HTMF waveforms.
Is it possible to use the existing FPGA code, but only change the MAC code for this purpose?
Thanks so much in advance!

Offline

 

#2 2017-Feb-06 15:51:57

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

Re: SIGNAL field of received 802.11g packets

The PHY decodes the PHY header fields and writes these bytes to the Rx packet buffer ahead of the MAC payload. These include the SIGNAL, SERVICE and HT-SIG (11n waveforms only) bytes. The MAC C code can access these bytes without any changes to the FPGA design. The HT-STF and HT-LTF fields are not decoded to bytes; these fields are only used internally by the Rx PHY processing.

Refer to the comments in wlan_mac_pkt_buf_util.h for the organization of Rx packet buffers. The PHY header bytes start at PHY_RX_PKT_BUF_PHY_HDR_OFFSET and occupy 16 bytes. The MAC payload starts immediately after the PHY header (offset PHY_RX_PKT_BUF_MPDU_OFFSET in the C code).

Offline

 

#3 2017-Feb-07 15:51:20

zhimeng
Member
Registered: 2015-Sep-30
Posts: 47

Re: SIGNAL field of received 802.11g packets

Thanks so much for your hep!

Offline

 

#4 2017-Feb-09 10:33:29

zhimeng
Member
Registered: 2015-Sep-30
Posts: 47

Re: SIGNAL field of received 802.11g packets

We have done several experiments, but are not sure if we have got the right data

(1)
For example, we use two commodity NICs, specifically AR5112 and AR2425, to send out the 802.11b and 802.11g packets, and use WARP with reference design 1.5 to receive the packets. As for WARP, we modified the frame_receive() in the DCF to print out the service bits.

However, for packets sent from AR5112, the 802.11b and 802.11g packets can be received by WARP, but we are wondering if we get the correct service bits. This is because the service bits are set to zeros originally, and then scrambled during the transmission. As a result, at the receiver side, the received service field are still fixed, which needs to be a random number.

For packets sent from AR2425, the 802.11b and 802.11g packets can not be detected by WARP, although the packets are received by other commodity NICs using wireshark.

(2) We want to extract the signal field, and the service field in the 802.11g specifically. In your previous document wlan_mac_pkt_buf_util.h, there are only settings for the 802.11a and 802.11n. Could you please tell me the details about 802.11g? We searched online, usually, the packet header formats are different for 802.11n and 802.11g.

Thanks so much for the help.

Offline

 

#5 2017-Feb-09 11:37:44

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

Re: SIGNAL field of received 802.11g packets

However, for packets sent from AR5112, the 802.11b and 802.11g packets can be received by WARP, but we are wondering if we get the correct service bits. This is because the service bits are set to zeros originally, and then scrambled during the transmission. As a result, at the receiver side, the received service field are still fixed, which needs to be a random number.

The Rx PHY uses the scrambled SERVICE field to determine the correct initial de-scrambler state for a given packet. The SERVICE field written to the Rx packet buffer is de-scrambled and should be 0x0000. Is this what you're seeing?

Offline

 

#6 2017-Feb-09 12:32:47

zhimeng
Member
Registered: 2015-Sep-30
Posts: 47

Re: SIGNAL field of received 802.11g packets

Yes. We have received many 0000 values, but some of them are non-zeros.
We tried to explain this, but didn't find a reasonable reason.

Based on your comments, I assume that the descramble is done at PHY, done by the FPGA code, instead of the MAC layer c code?

Offline

 

#7 2017-Feb-09 13:28:56

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

Re: SIGNAL field of received 802.11g packets

Yes. We have received many 0000 values, but some of them are non-zeros.
We tried to explain this, but didn't find a reasonable reason.

The de-scrambler only uses the 7 LSB of the SERVICE field for initializing the LFSR. It's possible the other bits can have non-zero values when there are decoding errors (i.e. bit errors due to low SNR).

Based on your comments, I assume that the descramble is done at PHY, done by the FPGA code, instead of the MAC layer c code?

Yes- the scrambler is implemented in the Tx PHY, the de-scrambler is in the Rx PHY. The MAC code only handles un-scrambled bytes.

(2) We want to extract the signal field, and the service field in the 802.11g specifically. In your previous document wlan_mac_pkt_buf_util.h, there are only settings for the 802.11a and 802.11n. Could you please tell me the details about 802.11g?

Our PHY implements the OFDM waveform defined in clause 18 of the IEEE 802.11-2012 spec. This is the waveform commonly called 11a when used in 5GHz. The same waveform is used in 2.4GHz (technically ERP-OFDM, defined in 19.3.2.4), commonly called 11g. The 11g amendment defines other waveforms in 2.4GHz that we do not support, such as DSSS-OFDM.

Offline

 

#8 2017-Feb-09 14:03:05

zhimeng
Member
Registered: 2015-Sep-30
Posts: 47

Re: SIGNAL field of received 802.11g packets

Hi. Thanks so much for your detailed comments!

We hope to get the scramble seed when receiving the packet.
E.g. we can set the scramble seed at t he ofdm_tx_supermimo_init.m in the research apps (Although this does not affect the implementation)
We really want to know if we can the extract the descramble seed with C code at the MAC layer with the WARP reference design.

Offline

 

#9 2017-Feb-09 15:47:59

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

Re: SIGNAL field of received 802.11g packets

We really want to know if we can the extract the descramble seed with C code at the MAC layer with the WARP reference design.

Unfortunately this is not possible without modifying the FPGA design. The Rx PHY does not record the scrambled bytes anywhere, as the de-scrambling logic is part of the decoder -> packet buffer pipeline. You could achieve this by modifying the de-scrambling block in the Rx PHY model and re-building the FPGA design.

Offline

 

#10 2017-Feb-10 00:16:41

zhimeng
Member
Registered: 2015-Sep-30
Posts: 47

Re: SIGNAL field of received 802.11g packets

Thanks a lot!
Your comments have addressed my question of the descrambler

I have no idea how to change the existing FPGA design, could you show me the general way of doing this?

Thanks so much in advance.

Offline

 

Board footer