Wireshark-bugs: [Wireshark-bugs] [Bug 4507] IEEE 802.15.4 frame check sequence in "Chipcon mode"

Date: Sun, 23 Jun 2013 19:47:55 +0000

Comment # 2 on bug 4507 from
(In reply to comment #0)
> Texas Instruments (formerly Chipcon) IEEE 802.15.4 devices like the CC2420,
> CC2430, CC2431, CC2520, CC2530, etc. provide a so called auto-CRC mode,
> which replaces the original 16-bit CRC of received frames with two bytes as
> shown in figure 21 of the CC2420 data sheet (TI document no. SWRS041B) on
> page 39: "Data in RXFIFO when MDMCTRL0.AUTOCRC is set". Wireshark does not
> interpret these values correctly.

I realize this bug was opened against 1.2.5 (which is now end-of-life, as are
1.4 and 1.6), but with 1.8, 1.10 and latest trunk (r50121), I believe Wireshark
is displaying the bytes correctly.

> 1) The RSSI is a signed value, while Wireshark treats it as unsigned. 

Wireshark is treating the RSSI as a signed value, at least with 1.8, 1.10 and
trunk r50121.

> CC2520 (and CC2530) RSSI_OFFSET = -76dBm. Therefore, the value should be
> displayed as 8 bit signed value in units of dB (instead of dBm).

OK, that's easy to fix.  But is that all that's needed now?

> 2) Wireshark's dissector expects these bytes in different byte order
> (little-endian vs. big-endian issue). Notice that in the attached capture
> the bytes have already been swapped in the capture hardware to accommodate
> for the current behavior. However, this should be changed in Wireshark.

I believe Wireshark is displaying this correctly, according to my reading of
section 16.4:

Instead, when MODEMCTRL0.AUTOCRC is
set the two FCS bytes are replaced by the
RSSI value, average correlation value
(used for LQI) and CRC OK/not OK. This
is illustrated in Figure 21.

The first FCS byte is replaced by the 8-bit
RSSI value. This RSSI value is measured
over the first 8 symbols following the SFD.
See the RSSI section on page 48 for
details.

The 7 least significant bits in the last FCS
byte are replaced by the average
correlation value of the 8 first symbols of
the received PHY header (length field) and
PHY Service Data Unit (PSDU). ...

The most significant bit in the last byte of
each frame is set high if the CRC of the
received frame is correct and low
otherwise.

+-------------+-------------------------------------------------+
| Length byte |                        MPDU                     |
+-------------+-------+-------+ ... +---------+------+----------+
|      n      | MPDU1 | MPDU2 |     | MPDUn-2 | RSSI | CRC/Corr |
+-------------+-------+-------+ ... +---------+------+----------+

 ... where CRC/Corr =

                   +---+---+---+---+---+---+---+---+
        Bit number | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
                   +---+---+---+---+---+---+---+---+
                   |CRC|       Correlation         |
                   | OK|          value            |
                   +---+---+---+---+---+---+---+---+

Figure 21. Data in RXFIFO when MDMCTRL0.AUTOCRC is set


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