Wireshark-bugs: [Wireshark-bugs] [Bug 11419] 802.11ad Decoding Error
Date: Wed, 05 Aug 2015 23:00:04 +0000

changed bug 11419


What Removed Added
Hardware x86-64 All
OS Ubuntu All

Comment # 7 on bug 11419 from
OK, so as I read IEEE Std 802.11-2012 section 8.2.2 "Conventions":

    Structures defined in the MAC sublayer are described as a sequence of
fields in specific order. Each figure in Clause 8 depicts the fields/subfields
as they appear in the MAC frame and in the order in which they are passed to
the physical layer convergence procedure (PLCP), from left to right.

    In figures, all bits within fields are numbered, from 0 to k, where the
length of the field is k + 1 bits. Bits within numeric fields that are longer
than a single bit are depicted in increasing order of significance, i.e., with
the lowest numbered bit having the least significance. The octet boundaries
within a field can be obtained by taking the bit numbers of the field modulo 8.
Octets within numeric fields that are longer than a single octet are depicted
in increasing order of significance, from lowest numbered bit to highest
numbered bit. The octets in fields longer than a single octet are sent to the
PLCP in order from the octet containing the lowest numbered bits to the octet
containing the highest numbered bits.

in a 24-bit field such as the Sector Sweep field, bit B24 is the high-order
bit, bit B0 is the low-order bit, and the octets of that field are transmitted
as the octet containing bits B0-B7, followed by the octet containing bits
B8-B15, followed by the octet containing bits B16-B23.

So if you take the first byte of that field, then take the second byte of that
field, shift it left 8 bits, and add/OR the two together, and then take the
third byte of that field, shift it left 8 bits, and add/OR the two together,
you will have the correct numerical value for that field.

I.e., in the capture, the correct value is 0x010410, or

    B
    2                      B
    3                      0
    +                      +
    000000010000010000010000

and if we split that into the subfields, we get:

    B    B   BB       B    B
    2    1   11       1    1  B       B  B
    3    8   76       5    0  9       1  0
    +    +   +}       +    +  +       +  +
    000000   01       000001  000001000  0
    RXSS     DMG      Sector  CDOWN      Direction
    Length   Antenna  ID
             ID

So the *other* problem here with the dissector is that the bits are wrong - the
RXSS length should be at the *top* of the value.

So there's more work to do; I'm going to have to look at *all* of change
I742726027bcab7d25ca4a9ce3a406518db6d272f.


You are receiving this mail because:
  • You are watching all bug changes.