From owner-freebsd-i386@FreeBSD.ORG Mon Jul 31 09:55:49 2006 Return-Path: X-Original-To: freebsd-i386@FreeBSD.org Delivered-To: freebsd-i386@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id E57D816A4DA; Mon, 31 Jul 2006 09:55:49 +0000 (UTC) (envelope-from bde@zeta.org.au) Received: from mailout1.pacific.net.au (mailout1.pacific.net.au [61.8.0.84]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0FE5143D70; Mon, 31 Jul 2006 09:55:49 +0000 (GMT) (envelope-from bde@zeta.org.au) Received: from mailproxy1.pacific.net.au (mailproxy1.pacific.net.au [61.8.2.162]) by mailout1.pacific.net.au (Postfix) with ESMTP id BC08E5A1D50; Mon, 31 Jul 2006 19:55:47 +1000 (EST) Received: from epsplex.bde.org (katana.zip.com.au [61.8.7.246]) by mailproxy1.pacific.net.au (8.13.4/8.13.4/Debian-3sarge1) with ESMTP id k6V9tgOm028834; Mon, 31 Jul 2006 19:55:44 +1000 Date: Mon, 31 Jul 2006 19:55:42 +1000 (EST) From: Bruce Evans X-X-Sender: bde@epsplex.bde.org To: Jo Rhett In-Reply-To: <200607252036.k6PKanFd072593@www.freebsd.org> Message-ID: <20060731191302.S1172@epsplex.bde.org> References: <200607252036.k6PKanFd072593@www.freebsd.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: freebsd-gnats-submit@FreeBSD.org, freebsd-i386@FreeBSD.org Subject: Re: i386/100831: sio ignores BIOS information about serial ports - bounty offered X-BeenThere: freebsd-i386@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: I386-specific issues for FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 31 Jul 2006 09:55:50 -0000 On Tue, 25 Jul 2006, Jo Rhett wrote: >> 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 ", 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. I think you just need to swap the ports in /boot/device.hints? Consoles are mostly low-level, and console initialization is very low level. The initialization is supposed to run before ACPI, etc. have had a chance to change the resource values dynamically (so that ACPI, etc. can print messages and otherwise be debugged), so when sio console initialization uses the apparently-higher-level resource access functions it is actually just using the hints, so the hints had better be correct -- they are more than hints. I don't know exactly what happens with ACPI. Ideally, ACPI should set the resource values to match the BIOS, and this might involve ignoring most hints and this changing the values from their defaults, but for consoles any changes in the values would be wrong and might result in the high-level console (/dev/console) being attached to a different device than the low-level console (the one used for kernel printfs). Bruce