Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 25 Jul 2006 20:36:49 GMT
From:      Jo Rhett <jrhett@svcolo.com>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   i386/100831: sio ignores BIOS information about serial ports - bounty offered
Message-ID:  <200607252036.k6PKanFd072593@www.freebsd.org>
Resent-Message-ID: <200607252040.k6PKeE77004641@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         100831
>Category:       i386
>Synopsis:       sio ignores BIOS information about serial ports - bounty offered
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    freebsd-i386
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Tue Jul 25 20:40:14 GMT 2006
>Closed-Date:
>Last-Modified:
>Originator:     Jo Rhett
>Release:        6.0-REL
>Organization:
svcolo
>Environment:
FreeBSD arran 6.0-RELEASE FreeBSD 6.0-RELEASE #4: Fri Nov 11 13:29:33 PST 2005     root@barrel.svcolo.com:/usr/obj/usr/src/sys/GENERIC  i386
>Description:
For our motherboard, "Serial A" in hardwired on the board with a 9-pin connector.  "Serial B" is a normal serial connector that can be wired anywhere.  Rackable uses this connector to connect to their out-of-band management interface.

So in the BIOS configuration, we assign COM1 = "Serial B" and COM2 = "Serial A".  This works perfectly for the POST console redirection and FreeBSD boot process.

/boot.config contains "-Dh" and /boot/loader.rc contains "console=comconsole"

In the middle of the boot process, right after saying "Mounting <root-device>", com1 becomes com2 and vice versa.  The console output suddenly starts going to Serial A -- which is connected to a modem.  Not useful.

During the shutdown process, console output reverts to the proper com1 assignment.

>How-To-Repeat:
Connect consoles to both com1 and com2.  Put "-Dh" in /boot.config and "console=comconsole" in /boot/loader.rc.  Boot.  Observe that all console output goes to the same port.

Go into BIOS. Change COM1 assignment from it's natural assignment to the reverse.  Boot again.  Watch the console output change monitors in the middle of the boot process.

>Fix:
sio needs to observe the BIOS flags.

Note that I've tested this on dozens of systems which different chipsets and BIOSs and this appears to be true in all environments.  com1 only works properly if it is assigned to the first serial port that the bios reports to the system.

BOUNTY:  This problem is serious enough that SVcolo is willing to pay an individual to determine the problem and get it committed to the main tree.  Contact me for more information.
>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200607252036.k6PKanFd072593>