IBM BSC CRC?

Nigel Johnson nw.johnson at ieee.org
Sun Jan 26 17:21:08 CST 2020


True, but in my case it was a typo! But yes we digital types like 
saturation.  Still have the funny thing with LTSpice though. I used it a 
lot for electricity 1 and 2 demos for students when the college wouldn't 
support me running electronics workbench under a VM on linux!

Works just fine with 100k!  Maybe I will just go back to the hardware, 
but it is a pain changing resistors in that dense board!  I think I must 
have blown the second transistor with too high a base current, burnt 
fingers tomorrow!

73

id


On 26/01/2020 18:12, Bob Smith via cctalk wrote:
> 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 at 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

  

-- 
Nigel Johnson
MSc., MIEEE
VE3ID/G4AJQ/VA3MCU

Amateur Radio, the origin of the open-source concept!


You can reach me by voice on Skype:  TILBURY2591

If time travel ever will be possible, it already is. Ask me again yesterday

This e-mail is not and cannot, by its nature, be confidential. En route from me to you, it will pass across the public Internet, easily readable by any number of system administrators along the way.
    Nigel Johnson <nw.johnson at ieee.org>

     
Please consider the environment when deciding if you really need to print this message





More information about the cctalk mailing list