Mattis Lind mattislind at
Sun Jan 26 13:58:48 CST 2020

Hello IBM BSC Experts!

I am trying to figure out the CRC algorithm used by IBM BSC. I have tried a
lot of different settings in crcreveng but not getting a match.

I am pretty convinced that the CRC-16 used by IBM was
  16          15       2
x      +   x     +   x     +  1
This would give the polynomial 8005.
Anyone against this statement?

But what was the initial value?

I have two actual messages from equipment employing IBM BSC:

>From this document (
I get that the CRC calculation is reset on SOH (01h) or STX (02h) and
accumulates until and including the ETX (03h). (excluding any SYN (32h)

I have tried crcreveng back and forth and I am not getting the CRC bytes
I think I have tried most things, different bit order, different initial
values. But nothing.

I also tried the mode in crcreveng where it searches for matches but it
always says "no models found". Maybe I am doing something wrong when using

Any clues? Surely there are someone out there that has been around for some
time and knows this, right?

On the topic of crc reveng I tried to verify how it works by using some
kind of known value: This article

has a specific example where a certain data in (75h) with initial value
90f1h gives output 6390h. I tried to get crc reveng to do the same, but
failed. There has to be some option I simply do not understand. I tried
most combinations.


More information about the cctech mailing list