Subject: Re: Behavior of DTR changed between 1.3.3 and 1.4.1???
To: John Refling <johnr@imageworks.com>
From: Greg Oster <oster@cs.usask.ca>
List: port-sparc
Date: 09/28/1999 13:54:25
John Refling writes:
>
> So the problem is not how to prevent a signal which appears to be a break
> from being created by a disconnected line.... it's how to prevent a break
> from being transmitted down a connected line, without killing off all the
> characters (which are transmitted at the same voltage, but different
> duration).
> 
> To solve that, I see three options:
> 
> 1) hack the BIOS rom on the PC so a break is not sent
> 2) hack the hardware on the PC so a break cannot be sent
>    by disconnecting that bit in the register
> 3) make NetBSD kernel ignore BREAK on the serial console.
> 
> Now, I like playing with hardware, but #3 is clearly the solution.

[ having remembered a similar discussion about this some time ago, I did
a bit of archive surfing... ]

If I'm not mistaken, a solution (or partial solution) to this was presented 
by Jeremy Cooper back in April, 1998, in:
 
  http://mail-index.netbsd.org/port-sparc/1998/04/23/0003.html
  http://mail-index.netbsd.org/port-sparc/1998/04/23/0004.html

The fix he suggested back then was:

--- src/sys/arch/sparc/dev/zs.c        Tue Apr 14 18:41:50 1998
+++ src/sys/arch/sparc/dev/zs_no_break.c       Thu Apr 23 18:51:01 1998
@@ -700,9 +700,6 @@
        zskgdb(cs);
 #elif defined(DDB)
        Debugger();
-#else
-       printf("stopping on keyboard abort\n");
-       callrom();
 #endif
 }

note that you apparently can't have DDB or KGDB defined in your kernel
for this to work.

*disclaimer* I havn't tried this at all, although I am in need of such 
a solution myself.

I would be interested in hearing how this works though :)

Later...

Greg Oster