On Fri, Jul 30, 2021 at 10:15:05AM +0200, Mark Kettenis wrote:
> > Date: Fri, 30 Jul 2021 09:29:43 +0200
> > From: Anton Lindqvist <[email protected]>
> >
> > >Synopsis: serial console no output
> > >Category: amd64
> > >Environment:
> > System : OpenBSD 6.9
> > Details : OpenBSD 6.9-current (GENERIC.MP) #381: Fri Jul 30
> > 09:02:53 CEST 2021
> >
> > [email protected]:/home/src/sys/arch/amd64/compile/GENERIC.MP
> >
> > Architecture: OpenBSD.amd64
> > Machine : amd64
> > >Description:
> > The serial console on this machine stops printing somewhere around the
> > time /etc/rc is executed. Last line of output on the console:
> >
> > Automatic boot i
> >
> > The `sh /etc/rc' process does not exit causing init(8) to wait
> > indefinitely for it. The same process is stuck here:
> >
> > #0 ttywait_nsec+0x10e
> > #1 killjobc+0x86
> > #2 exit1+0x22a
> > #3 sys_exit+0x16
> > #4 syscall+0x3b9
> > #5 Xsyscall+0x128
> >
> > I would assume there's pending output waiting to be flushed. Any ideas
> > or pointers on where to start digging would be much appreciated.
>
> This is fairly typical for when interrupts aren't working correctly.
> OpenBSD expects a "legacy" setup where:
>
> com0 at isa? port 0x3f8 irq 4 # standard PC serial ports
> com1 at isa? port 0x2f8 irq 3
> com2 at isa? port 0x3e8 irq 5
> com3 at isa? disable port 0x2e8 irq 9 # (conflicts with some video cards)
>
> but modern machines may have different interrupt assignments. You may
> be able to change the interrupt assignments in the BIOS of the
> machine. Or you could try building a kernel with the irqs for com0
> and com1 swapped around.
Thanks! Using irq 3 with com0 solved it. The BIOS exposes a serial
console setting but none of the options corresponds to the working
3F8/IRQ3 one:
Package (0x07)
{
"",
"3F8/IRQ4",
"2F8/IRQ3",
"3E8/IRQ4",
"2E8/IRQ3",
"",
"Disabled"
},