Created attachment 749 [details] A session with LIN data LIN protocol uses byte 0x55 as a first frame byte to sync the receivers' clocks. PID byte (parity/identifier) is sent next to it. Protocol decoder interprets SYNC byte as PID, so number of data bytes is determined incorrectly, and the checksum is always invalid. Steps to reproduce: Load a LIN communication record and attach the decoder. Actual results: SYNC byte 0x55 is always interpreted as PID, with ID 15 and parity 1. The real PID byte is interpreted as a first data byte. Expected results: SYNC byte must be shown as is. The next byte should be interpreted as a PID. Versions affected: 0.4.2 release, 0.5.0-git-3ce5dd9 nighty build.
Created attachment 750 [details] A screenshot
Seems like you connected both TX and RX, while both carry the same data. Thus the LIN PD is fed with every byte two times in a row, thus takes the 0x55 as the SYNC and the PID byte. Can you check that configuration?
Gerhard, you're right, Since LIN is a single-line bus, and I found no information about configuring the decoder, I connected both TX and RX. I thought the decoder somehow distinguishes between sent and received bytes. With TX/RX only, the decoder works correctly. Seems like it's because LIN decoder is stacked on top of standard UART that always has separate RX and TX lines. It would be great to at least mention this peculiarity in the short note displayed in the decoder selection window.