Subject: port-sparc/34046: dbri conflict w/magma hangs SS10
To: None <port-sparc-maintainer@netbsd.org, gnats-admin@netbsd.org,>
From: None <jdbaker@mylinuxisp.com>
List: netbsd-bugs
Date: 07/21/2006 07:35:00
>Number:         34046
>Category:       port-sparc
>Synopsis:       dbri conflict w/magma hangs SS10
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    port-sparc-maintainer
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Fri Jul 21 07:35:00 +0000 2006
>Originator:     John D. Baker
>Release:        NetBSD/sparc-current 3.99.2[13]
>Organization:
>Environment:
NetBSD nozette 3.99.23 NetBSD 3.99.23 (GENERIC_NOdbri) #0: Thu Jul 20 15:03:45 CDT 2006  sysop@yggdrasil:/space/nbsd/sparc/sys/arch/sparc/compile/GENERIC_NOdbri sparc

>Description:
In sparc kernels containing drivers for both dbri and magma, accessing
any of the magma serial ports hangs the system.  Serial console is
unresponsive except to drop to OBP on receipt of <BREAK>.

See also:

http://mylinuxisp.com/~jdbaker/misc/nozette.boot
http://mail-index.netbsd.org/port-sparc/2006/07/18/0000.html
http://mail-index.netbsd.org/port-sparc/2006/07/20/0000.html

For historical background see:

OpenBSD PR 2212
NetBSD PR 14845
http://www.openbsd.org/cgi-bin/cvsweb/src/sys/arch/sparc/dev/cs4231.c
(particularly the comments for R1.15)


I built a kernel that differs from GENERIC only in that it lacks dbri
support and with that kernel, I can use the magma serial ports without
any trouble.

I also built one that includes the dbri debugging and large-buffer
options.  That kernel locks the SS10 up hard, just like an ordinary
GENERIC kernel and produces no additional console output.
>How-To-Repeat:
Boot -current GENERIC on SS10 (SS20?) equipped with MAGMA serial card
(LC2+1sp in this case)

If necessary, cd /dev ; ./MAKEDEV magma0

Add entries for tty0[0-f] to /etc/ttys (or only as many as your card
has)

With nothing attached to at least one of the listed ports, run:

/etc/rc.d/ttys restart

Alternatively, attempt to access any magma port with tip or cu.
(may need to add/edit entries in /etc/remote)

>Fix:
Workarounds:

  1) remove/comment-out entries for magma ports in /etc/ttys and never
     attempt to use them.

  2) build kernel without dbri support.

Since the magma serial ports are mission-critical for my goals, I have
so-far opted for the second workaround.