Subject: wscons versus sun4
To: NetBSD port-sparc mailing list <port-sparc@netbsd.org>
From: Julian Coleman <jdc@coris.org.uk>
List: port-sparc
Date: 02/02/2007 18:21:03
Hi,

I'm trying to get a 4/330 with a P4 cgsix to work with wscons.  I thought
that I had altered all the necessary bits, but it doesn't work.  The dmesg
extracts are:

  mainbus0 (root): SUN-4/300 series: hostid 230046e3
   ...
  cgsix0 at obio0 addr 0xfb000000 level 4: cgsix/p4, 1152 x 900, rev 1 (console)
  cgsix0: attached to /dev/fb0
  cgsix0: framebuffer size: 1 MB
  cgsix0: FBC: 0014aac0
  wsdisplay0 at cgsix0 (kbdmux ignored): console (std, sun emulation)
  wsdisplay0: screen 1-3 added (std, sun emulation)
   ...
  zs1 at obio0 addr 0xf0000000 level 12 softpri 6
  zstty4 at zs1 channel 0 (console input)
  kbd0 at zstty4 (console input)
  zstty5 at zs1 channel 1
  ms0 at zstty5
  wsmouse0 at ms0 (mux ignored)
   ...
  wskbd0 at kbd0 (mux ignored): console keyboard, using wsdisplay0

Kernel messages appear on the console but any userland process trying to
read from or write to /dev/console gets ENODEV.  This is because the line
discipline is sunkbd_disc, where l_read and l_write are ttyerrio (which
results in the ENODEV).

On a working machine (SS20/cgsix/wscons), I see that wsdisplayioctl() is
called [1] which changes the line discipline to termios_disc via ttioctl().
On the 4/330, wsdisplayioctl() is not called, so the line discipline is not
changed.

So, I assume I'm missing some glue in my wscons setup, but I can't spot what
it is.  Any clues gratefully received.

Thanks,

J

[1] Probably when init is started and each time the console is opened.

-- 
  My other computer also runs NetBSD    /        Sailing at Newbiggin
        http://www.netbsd.org/        /   http://www.newbigginsailingclub.org/