Subject: kern/29612: com console on Soekris Net4501 is delayed...
To: None <kern-bug-people@netbsd.org, gnats-admin@netbsd.org,>
From: None <ignatios@beverly.kleinbus.org>
List: netbsd-bugs
Date: 03/06/2005 19:27:00
>Number: 29612
>Category: kern
>Synopsis: com console on Soekris Net4501 is delayed.
>Confidential: no
>Severity: serious
>Priority: high
>Responsible: kern-bug-people
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Sun Mar 06 19:27:00 +0000 2005
>Originator: ignatios@beverly.kleinbus.org
>Release: NetBSD 2.0
>Organization:
none.
>Environment:
System: NetBSD netgw 2.0 NetBSD 2.0 (NETGW) #3: Sun Mar 6 14:02:49
UTC 2005 ignatios@sinus:/usr/local/src/2.0/oi/sys/arch/i386/compile/NETGW i386
Architecture: i386
Machine: i386
dmesg extract:
cpu0 at mainbus0: (uniprocessor)
cpu0: AMD Am5x86 W/B 133/160 (486-class), id 0x4f4
cpu0: features 1<FPU>
pci0 at mainbus0 bus 0: configuration mode 1
pci0: i/o space, memory space enabled, rd/line, rd/mult, wr/inv ok
elansc0 at pci0 dev 0 function 0: AMD Elan SC520 System Controller
elansc0: product 0 stepping 0.1, CPU clock 133MHz
...
isa0 at mainbus0
com0 at isa0 port 0x3f8-0x3ff irq 4: ns16550a, working fifo
com0: console
com1 at isa0 port 0x2f8-0x2ff irq 3: ns16550a, working fifo
Full dmesg available on request.
>Description:
On a Soekris 4501, 2.0 kernels--- either NET4501 (with IPSec added)
or netbsd-INSTALL.gz --- only display the next bunch of output
(next character when typing at the command line, next couple of
lines when a command outputs a lot of text) after sending a character
to the machine.
>How-To-Repeat:
boot it. Try to control it via a Transtec VT220 clone.
>Fix:
Workaround:
Changing dev/ic/com.c to either 1.224 (unchanged) or to
1.224.2.2 with this patch makes com0 work again:
Index: com.c
===================================================================
RCS file: /cvsroot/src/sys/dev/ic/com.c,v
retrieving revision 1.224.2.2
diff -u -r1.224.2.2 com.c
--- com.c 5 Jul 2004 21:57:45 -0000 1.224.2.2
+++ com.c 6 Mar 2005 17:23:35 -0000
@@ -1745,7 +1745,7 @@
bus_space_write_1(iot, ioh, com_ier, sc->sc_ier);
}
-#if 0
+#if 1
/* Output the first chunk of the contiguous buffer. */
if (!ISSET(sc->sc_hwflags, COM_HW_NO_TXPRELOAD)) {
u_int n;
>Unformatted:
com.c 1.224.2.2