Subject: Re: DEC vt320 terminal problem
To: NetBSD User's Discussion List <netbsd-users@NetBSD.ORG>
From: Shannon <shannon@widomaker.com>
List: netbsd-users
Date: 06/23/2001 19:04:16
On Sat, Jun 23, 2001 at 03:23:40PM -0400, Greg A. Woods wrote:
> The other day I had the opportunity to sit down at a real VT340
> connected to the console port of an i386 NetBSD box (over at my
> colleague Andreas').
Meanwhile I've been trying bids on Wyse 160E's and DEC vt510's... :)
> This machine would apparently freeze while booting, never getting past
> the point where 'init' tries to open /dev/console.
I have noticed that too, and it doesn't happen if I keep the terminal
in 7-bit mode at 9600bps. Wierd.
With DEC UNIX, SunOS, and OpenBSD I never lost the terminal when
booting.
For NetBSD-sparc, I have to go into firmware (terminal) and reset the
terminal and then everything is OK... or rather, the normal problems
then start... :)
> I've occasionally seen something very similar with machines I've had
> connected to terminal servers, and that's even after I hacked the com
> driver, and the serial boot code, and anywhere else in the kernel I
> could think of to make sure that the UART would not get stuck if the
> terminal had flow-controlled it during boot (that was with 1.3.3). On
With terminal servers, I found the fixes to things like this were
often non-intuitive.
> those machines though the hang was usually sometime during the output
> from /etc/rc, not immediately as init started), and simply pressing any
> key would restore output. Nothing but a BREAK would wake up the i386
> (and that of course dumps you into DDB where a reboot is the only thing
> that gets you anywhere).
...which is immensely annoying. Good thing the sparc is happy to keep
going when you do things like that.
> I suspect that's because I normally have "ixon ixoff ixany" modes
> set once /etc/rc gets going, but I'll bet "-ixany" is the default
> beforehand.
Is there a way to set serial port options at kernel boot? I mean,
besides actually changing the code.
> Once we got the machine booted up fine and working I tried reproducing
> the problem you described with shell prompt output (but in the way I'd
> reproduced it on the sparc serial console). Oddly, no go! At least not
> always like on the sparc.
I found much the same thing with Intel *BSD systems. I still haven't
tried this terminal on NetBSD, but I'm going to _try_ get around to
it this weekend.
> However with a certain amount of prompt output there are sometimes big
> fat backwards question-marks splattered in the output from when the
> terminal is flow controlled....
The fat ? usually means something like parity or character size (i.e.
7 vs 8 bits) is messed up. So if you see it now and then, you are
likely losing bits somewhere.
> Oh, and BTW, you really really do need and want "autowrap" enabled! ;-)
It's not helping me much... :(
> I'm going to take another look at the hacks I did to the com driver and
> the serial boot code and see if I can't fix the flow-control during boot
> problem once and for all....
I've looked around at the code in NetBSD, and the tcsh source code.
The shell won't necessarily be easy to fix. I have even wondered if
part of the problem is the termio/termcap libraries. Nothing
conclusive to report there, as I got tired of messing with this for
a couple of days.
> Though I think the ultimate solution is to
> re-introduce delay characters (i.e. stty's "cr? nl? tab? bs? ff? vt?"
> modes).
I tried editing the termcap entry to enable that, but it seems to have
no effect unless I just did something wrong.
Another solution is to make the shells go to the next line by issuing
an actual linefeed instead of forcing a wrap and linefeed at the
last column. As I said in another message, it is that action that
differentiates shells which work from those which don't, on my
particular terminal.
> They should never have been removed from termio[s] in *BSD (or
> rather they should have been implemented!).
Doh! If they aren't implemented, that would explain why my changes
seemed to have no effect.
> could be set more properly by default for serial terminals and flow
> control problems for kernel output could be avoided in the "proper" (er,
> proven) way. If I ever get that far I'll send-pr whatever I come up
> with! ;-)
Let me know. If I manage to make any headway with tcsh, I'll post
here. Other projects are starting to beg for attention, but I
plan to revist this at least one day a week until it gets fixed.
Even if I get a faster terminal, it may still be a problem.
--
shannon@widomaker.com _________________________________________________
______________________/ armchairrocketscientistgraffitiexenstentialist
"And in billows of might swell the Saxons before her,-- Unite, oh
unite! Or the billows burst o'er her!" -- Downfall of the Gael