From: Richard Sharpe <realrichardsharpe-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
To: radiotap-sUITvd46vNxg9hUCZPvPmw@public.gmane.org,
Ray Wang <rwang-+OaQ/Okkt+3YtjvyW6yDsg@public.gmane.org>,
"Aaron J. Lee"
<yodazhong-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
Tasheng Lin <tlin-+OaQ/Okkt+3YtjvyW6yDsg@public.gmane.org>
Subject: Radiotap header for S1G captures and associated changes and other definitions
Date: Fri, 1 Mar 2019 17:59:58 -0800 [thread overview]
Message-ID: <CACyXjPztSKzyZvJ_AmAD89rm_9dau4J5C7iHt+wkW9P6jLOvew@mail.gmail.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 2369 bytes --]
Hi folks,
This is a second attempt at a RADIOTAP header for S1G captures.
Aaron Lee did the work in creating these definitions. I simply transcribed them.
The attached patch defines changes to the Channel field, 0-length-MPDU
field and a new S1G field.
There is also and associated definition for S1G NPD frames, which are
40-bit non-MAC frames transmitted by S1G STAs. I have included the
definition of those in this email, and they are essentially from
802.11ah-2016 with a little bit of helpful framing.
1. Channel field:
3 new values for Mask: 0x0002 for 700 MHz, 0x0004 for 800 MHz and
0x0008 for 900 MHz spectrum channels respectively.
2. 0-length MPDU field:
1 new value: 0x02 in the type value: 2 indicates that an S1G NDP
40-bit frame follows.
Note, this seems weird. Maybe the name of the field needs changing to
non-MAC frame or something.
3. The new S1G frame.
It consists of three 16-bit fields:
U16 known, U16 data1, U16 data2
Known:
0x0001 S1G PPDU format known
0x0002 Response indication known
0x0004 Guard Interval known
0x0008 NSS known
0x0010 Bandwidth known
0x0020 MCS Known
0x0040 Color known
0xFF80 Reserved
Data1:
0x0003: S1G PPDU Format: 0=S1G_1M, 1=S1G_SHORT, 2=S1G_LONG
0x000C: Response indication: 0=NO_RESPONSE, 1=NDP_RESPONSE,
2=NORMAL_RESPONSE, 3=LONG_RESPPNSE
0x0010: Reserved
0x0020: Guard interval: 0=Long GI, 1=Short GI
0x00C0: Number spatial streams: 0=1 Spatial stream, 1=2, .. 3=4 Spatial streams
0x0F00: Bandwidth: 0=1MHz, 1=2MHz, 2=4MHz, 3=8MHz, 4=16MHz, 5-15 reserved
0xF000: MCS (MCS rate index, 0-10, 11-15 reserved)
Data2:
0x000F: Color: 0-7
0xFFF0: Reserved
The S1G NPD format is essentially from section 9.9 of 802.11ah-2016
with some additional syntactic sugar:
It is a 40-bit field.
The first 8 bits distinguishes between Management and Control frames
using the values 0x0F (management) and 0x20 (control).
The last two bits indicates the bandwidth, between 1MHz and 2MHz,
In between, a 1MHz NDP CMAC frame contains 26 used bits and 13 unused
bits. The used bits are defined in section 9.9 of 802.11ah-2016. A
1MHz NDP CMAC frame contains 37 used bits and one unused bit. Again,
the used bits are defined in 802.11ah-2016.
--
Regards,
Richard Sharpe
(何以解憂?唯有杜康。--曹操)(传说杜康是酒的发明者)
[-- Attachment #2: 0001-Add-an-S1G-field-and-modify-the-0-length-PSDU-defini.patch --]
[-- Type: application/octet-stream, Size: 3710 bytes --]
From ef99213c7235d4afe028331cd02b52cdb6b7b82f Mon Sep 17 00:00:00 2001
From: Richard Sharpe <rsharpe@localhost.localdomain>
Date: Thu, 31 Jan 2019 15:47:50 -0800
Subject: [PATCH] Add an S1G field and modify the 0-length PSDU definition for
S1G NDP info as well as add some Channel values.
The author is Aaron Lee. Transcribed by Richard Sharpe.
Signed-off-by: Richard Sharpe <realrichardsharpe@gmail.com>
---
fields/0-length-PSDU.md | 4 +++-
fields/Channel.md | 3 +++
fields/S1G.md | 46 ++++++++++++++++++++++++++++++++++++++++++++++
fields/suggested.md | 1 +
4 files changed, 53 insertions(+), 1 deletion(-)
create mode 100644 fields/S1G.md
diff --git a/fields/0-length-PSDU.md b/fields/0-length-PSDU.md
index 307cee0..4af5564 100644
--- a/fields/0-length-PSDU.md
+++ b/fields/0-length-PSDU.md
@@ -16,11 +16,13 @@ Unit(s)
The presence of this field indicates that there was no PSDU in or
captured for this PPDU, only the PHY data is valid and the radiotap
-header is not followed by an 802.11 header.
+header is not followed by an 802.11 header, however, other types of frames
+may follow, like an S1G NDP frame, which is of fixed length.
The type field indicates the type of PPDU.
| **type value** | **meaning** |
| 0 | sounding PPDU |
| 1 | data not captured (e.g. multi-user PPDU) |
+| 2 | S1G NDP CMAC frame - a 40-bit S1G NDP CMAC frame follows |
| 0xff | vendor-specific |
diff --git a/fields/Channel.md b/fields/Channel.md
index 784c5c4..5747862 100644
--- a/fields/Channel.md
+++ b/fields/Channel.md
@@ -21,6 +21,9 @@ Currently, the following flags are defined:
| **Mask** | **Meaning** |
| 0x0010 | Turbo Channel |
+| 0x0002 | S1G 700MHz spectrum channel |
+| 0x0004 | S1G 800MHz spectrum channel |
+| 0x0008 | S1G 900MHz spectrum channel |
| 0x0020 | CCK channel |
| 0x0040 | OFDM channel |
| 0x0080 | 2 GHz spectrum channel |
diff --git a/fields/S1G.md b/fields/S1G.md
new file mode 100644
index 0000000..8d325cf
--- /dev/null
+++ b/fields/S1G.md
@@ -0,0 +1,46 @@
+---
+title: S1G
+categories: [suggested]
+---
+Bit Number
+: 16
+
+Structure
+: u16 known, u16 data1, u16 data2
+
+Required Alignment
+: 2
+
+Unit(s)
+: none
+
+The presence of this field indicates the frame was capture using an S1G phy.
+
+This field contains data to allow correct handling by programs like
+Wireshark etc.
+
+## known
+
+| **`0x0001`** | S1G PPDU Format known |
+| **`0x0002`** | Response indication known |
+| **`0x0004`** | Guard interval known |
+| **`0x0008`** | NSS known |
+| **`0x0010`** | Bandwidth known |
+| **`0x0020`** | MCS known |
+| **`0x0040`** | Color known |
+| **`0xFF80`** | Reserved |
+
+## data1
+
+| **`0x0003`** | S1G PPDU Format: 0=S1G_1M, 1=S1G_SHORT, 2=S1G_LONG |
+| **`0x000C`** | Response indication: 0=NO_RESPONSE, 1=NDP_RESPONSE, 2=NORMAL_RESPONSE, 3=LONG_RESPPNSE |
+| **`0x0010`** | Reserved |
+| **`0x0020`** | Guard interval: 0=Long GI, 1=Short GI |
+| **`0x00C0`** | Number spatial streams: 0=1 Spatial stream, 1=2, .. 3=4 Spatial streams |
+| **`0x0F00`** | Bandwidth: 0=1MHz, 1=2MHz, 2=4MHz, 3=8MHz, 4=16MHz, 5-15 reserved |
+| **`0xF000`** | MCS (MCS rate index, 0-10, 11-15 reserved) |
+
+## data2
+
+| **`0x000F`** | Color: 0-7 |
+| **`0xFFF0`** | Reserved |
diff --git a/fields/suggested.md b/fields/suggested.md
index 32577d9..ec598bb 100644
--- a/fields/suggested.md
+++ b/fields/suggested.md
@@ -18,3 +18,4 @@ This table lists the fields some OSes assigned by bit number:
| 16 | [RTS retries](/fields/RTS retries), [RSSI](/fields/RSSI) |
| 17 | [data retries](/fields/data retries) |
| 18 | [XChannel](/fields/XChannel) |
+| 28 | [S1G](/fields/S1G) |
--
1.8.3.1
next reply other threads:[~2019-03-02 1:59 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-03-02 1:59 Richard Sharpe [this message]
2019-03-05 3:18 Radiotap header for S1G captures and associated changes and other definitions Richard Sharpe
[not found] ` <CACyXjPy-Lr143wcWaLkv-xgs9Ebc0j8pYfw8MzMXNEv2tLA0Kg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2019-03-05 11:58 ` Johannes Berg
[not found] ` <56728a565c1f84862615f8804881bf72b7d12511.camel-cdvu00un1VgdHxzADdlk8Q@public.gmane.org>
2019-03-05 15:29 ` Richard Sharpe
[not found] ` <CACyXjPxL1Jr7xXCh9tDBaORB5YyiJH7Zb2H+sKsz3mjUCbxkkQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2019-03-06 8:07 ` yodazhong-Re5JQEeQqe8AvxtiuMwx3w
2019-04-09 8:58 ` Johannes Berg
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CACyXjPztSKzyZvJ_AmAD89rm_9dau4J5C7iHt+wkW9P6jLOvew@mail.gmail.com \
--to=realrichardsharpe-re5jqeeqqe8avxtiumwx3w@public.gmane.org \
--cc=radiotap-sUITvd46vNxg9hUCZPvPmw@public.gmane.org \
--cc=rwang-+OaQ/Okkt+3YtjvyW6yDsg@public.gmane.org \
--cc=tlin-+OaQ/Okkt+3YtjvyW6yDsg@public.gmane.org \
--cc=yodazhong-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).