I ma rusty on this, been almost 50 years since I worked on the DP8EP aka the KG83. then the KG11, and the Autodin 2 CRC32 designs in hardware. I don't recall whether bisync, aka bsc used LRC8, 12, 16, or crc16 as the error detection algorithm. I don't think it used VRC. I did find a refresher that might help, but I don't think the polynomial you have for crc 16 has enough terms. BUT I could be misremembering.
https://www.automatas.org/modbus/crc7.html bob On Sun, Jan 26, 2020 at 2:59 PM Mattis Lind via cctalk <cctalk@classiccmp.org> wrote: > > 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: > 32016CD90240404070032688 > and > 32016CD90240C84050030D28 > > From this document ( > http://bitsavers.trailing-edge.com/pdf/ibm/datacomm/GA27-3004-2_General_Information_Binary_Synchronous_Communications_Oct70.pdf > ) > 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) > characters). > > I have tried crcreveng back and forth and I am not getting the CRC bytes > right. > 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 > crcreveng? > > 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 > https://stackoverflow.com/questions/23638939/crc-16-ibm-reverse-lookup-in-c > > 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. > > /Mattis