Patch-ID# 103395-01
Keywords: bsc rje bad crc 
Synopsis: SunLink BSC RJE 6.0: Frames with bad CRC not discarded
Date: May/08/96

Solaris Release: 1.x
 
SunOS release: 4.1.1, 4.1.2, 4.1.3
 
Unbundled Product: SunLink BSC RJE
 
Unbundled Release: 6.0
 
BugId's fixed with this patch: 1190997

Changes incorporated in this version: 1190997

Relevant Architectures: sparc

Patches accumulated and obsoleted by this patch: 

Patches which conflict with this patch: 

Patches required with this patch:

Obsoleted by:

Files included with this patch:

    sunlink/bscrje/sys/sun4/OBJ/zs_bsctables.o


Problem Description: 

(Revision 01)
-------------

1190997: Frames with bad CRC not discarded

    The BSC driver mishandles an error from a noisy line for a
    transparent intermediate block.  A DLE character is mangled by
    noise, causing an ITB to be missed.  But when the driver sees the
    next STX it stops reading the line and sends a NAK. When it resumes
    reading it picks up the second half of the block and NAKs it also,
    for a BCC error. The host retransmitted for each NAK, resulting in
    one too many copies of the block arriving.

    The BSC driver has been modified to allow control characters in
    text blocks, and let the BCC catch any errors at the end of the entire
    block.  Page 17 of GA27-3004-2 (IBM BSC General Info) says:
    "Any station receiving a control character within a text block treats the
    control character or sequence as data and waits for the BCC to detect
    a possible error. If an error is detected, normal recovery procedures
    are used. If no error is detected, the transmission is treated as
    valid data."


--------------------------------
Patch Installation Instructions:
--------------------------------

   Login as root for this procedure.  Since this procedure is rebuilding 
   the kernel, please take all necessary precautions, such as backing up 
   the system first.


1. create a temporary <patch> directory.
   copy the patch into your <patch> directory.
   cd to the <patch> directory:

       # cd <patch>

2. Save the previous versions:

	# mv /usr/sunlink/bscrje/sys/sun4/OBJ/zs_bsctables.o \
		/usr/sunlink/bscrje/sys/sun4/OBJ/zs_bsctables.o.orig


3. Copy the files in the patch:

	# cp /sun4/sunlink/bscrje/sys/sun4/OBJ/zs_bsctables.o \
		/usr/sunlink/bscrje/sys/sun4/OBJ/zs_bsctables.o


4. Remake the kernel:

 	# cd /usr/sunlink/bscrje
	# install.bscrje

   Reboot with the new kernel.


----------------------
Documentation Changes:
----------------------

   None.

