com1 incorrectly associated with ttyd1, com2 with ttyd0
John Baldwin
jhb at freebsd.org
Thu Nov 17 08:04:40 PST 2005
On Thursday 17 November 2005 12:03 am, Joe Rhett wrote:
> This is funny. This is true in both 5.4-RELEASE and 6.0-RELEASE
>
> 1. Plug serial connection into com1, configure as console
> 2. Edit /etc/ttys, enable ttyd0
> 3. set console=comconsole in /boot/loader.conf
> 4. Boot system (generic kernel) -- all output goes to com1
> 5. No login prompt...
>
> Edit /etc/ttys, enable ttyd1
> kill -HUP 1
> Login prompt
>
> devinfo -r shows
>
> sio0
> Interrupt request lines:
> 0x3
> I/O ports:
> 0x2f8-0x2ff
> sio1
> Interrupt request lines:
> 0x4
> I/O ports:
> 0x3f8-0x3ff
>
>
> So... so COM1 is sio0/ttyd0 until the system finishes booting, at which
> time it swap with com2 and becomes sio1/ttyd1 ?
>
> NOTE: in the BIOS I've assigned 3f8/int4 to serial B, and 2f8/int3 to
> serial A. But why would sio assignments be tied to the hardware order
> instead of the io assignments? And better yet, why would they swap during
> the boot process?
The boot process has an I/O port (3f8) hardcoded by default. However, the
kernel enumerates devices based on what the BIOS tells us, and since you have
serial A setup as COM2 resources and serial B setup as COM1 resources, the
BIOS will list serial A first, so sio0 will get serial A and thus COM2. Try
fixing your BIOS to map serial A to COM1.
--
John Baldwin <jhb at FreeBSD.org> <>< http://www.FreeBSD.org/~jhb/
"Power Users Use the Power to Serve" = http://www.FreeBSD.org
More information about the freebsd-hardware
mailing list