Wireshark mailing list archives
Re: Calculating CRC5 of 11-bit data
From: Ross Jacobs <rossbjacobs () gmail com>
Date: Fri, 19 Jul 2019 17:00:38 -0700
Hi Tomasz, My vote is for table lookup along a one-byte boundary as all of the existing CRC checkers in /wsutil currently use one. Notice how in our CRC16 and CRC32 implementations, we bitshift by 8 and 24 respectively. It should be possible to compute any CRC along a one-byte boundary. This article <http://www.sunshine2k.de/articles/coding/crc/understanding_crc.html> goes over how to implement non-CRC8 algorithms to do just that with a table lookup. PyCRC <https://pycrc.org/> was used to generate Wireshark's CRC6, CRC7, and CRC11 algorithms. You may want to take a look at it and see if it can help here. In this case, width=5 and poly=0x05 (assuming CRC5/USB found here <http://reveng.sourceforge.net/crc-catalogue/all.htm>). Cheers, Ross On Fri, Jul 19, 2019 at 9:28 AM Tomasz Moń <desowin () gmail com> wrote:
Hello, I am currently working on USB Link Layer dissector. It is supposed to be used with OpenVizsla FPGA-based USB hardware sniffer. USB Packets feature two CRC types: CRC-5/USB and CRC-16/USB. The CRC-16/USB is pretty straightforward. I have implemented it in [1] and it works fine with my captures. The CRC-5/USB is not so straightforward as it does not operate on the byte boundary. The CRC-5/USB is calculated on 11 bits of data. I think there are two possible approaches to check the CRC-5/USB in Wireshark: 1. Compute the CRC5 bitwise on the 11 bits of data, or 2. Compute the CRC5 with table-based algorithm on 2 bytes (11 bits data + 5 bits CRC) and relying on the CRC properties expect fixed output. Which approach would be preferred? Best Regards, Tomasz Moń [1] https://code.wireshark.org/review/#/c/34016/ ___________________________________________________________________________ Sent via: Wireshark-dev mailing list <wireshark-dev () wireshark org> Archives: https://www.wireshark.org/lists/wireshark-dev Unsubscribe: https://www.wireshark.org/mailman/options/wireshark-dev mailto:wireshark-dev-request () wireshark org ?subject=unsubscribe
___________________________________________________________________________ Sent via: Wireshark-dev mailing list <wireshark-dev () wireshark org> Archives: https://www.wireshark.org/lists/wireshark-dev Unsubscribe: https://www.wireshark.org/mailman/options/wireshark-dev mailto:wireshark-dev-request () wireshark org?subject=unsubscribe
Current thread:
- Calculating CRC5 of 11-bit data Tomasz Moń (Jul 19)
- Re: Calculating CRC5 of 11-bit data Ross Jacobs (Jul 19)
- Re: Calculating CRC5 of 11-bit data Tomasz Moń (Jul 19)
- Re: Calculating CRC5 of 11-bit data Guy Harris (Jul 19)
- Re: Calculating CRC5 of 11-bit data Tomasz Moń (Jul 19)
- Re: Calculating CRC5 of 11-bit data Tomasz Moń (Jul 20)
- Re: Calculating CRC5 of 11-bit data John Sullivan (Jul 20)
- Re: Calculating CRC5 of 11-bit data Tomasz Moń (Jul 20)
- Re: Calculating CRC5 of 11-bit data John Sullivan (Jul 21)
- Re: Calculating CRC5 of 11-bit data Tomasz Moń (Jul 25)
- Re: Calculating CRC5 of 11-bit data Tomasz Moń (Jul 19)
- Re: Calculating CRC5 of 11-bit data Ross Jacobs (Jul 19)