From owner-freebsd-i386@FreeBSD.ORG Tue Aug 1 21:10:19 2006 Return-Path: X-Original-To: freebsd-i386@hub.freebsd.org Delivered-To: freebsd-i386@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id EA9CE16A4DD for ; Tue, 1 Aug 2006 21:10:19 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 8F7F243D58 for ; Tue, 1 Aug 2006 21:10:19 +0000 (GMT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.13.4/8.13.4) with ESMTP id k71LAJ2K058506 for ; Tue, 1 Aug 2006 21:10:19 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.13.4/8.13.4/Submit) id k71LAJFX058505; Tue, 1 Aug 2006 21:10:19 GMT (envelope-from gnats) Date: Tue, 1 Aug 2006 21:10:19 GMT Message-Id: <200608012110.k71LAJFX058505@freefall.freebsd.org> To: freebsd-i386@FreeBSD.org From: Jo Rhett Cc: 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 Reply-To: Jo Rhett List-Id: I386-specific issues for FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 01 Aug 2006 21:10:20 -0000 The following reply was made to PR i386/100831; it has been noted by GNATS. From: Jo Rhett To: Bruce Evans Cc: freebsd-gnats-submit@FreeBSD.org, freebsd-i386@FreeBSD.org Subject: Re: i386/100831: sio ignores BIOS information about serial ports - bounty offered Date: Tue, 1 Aug 2006 13:59:44 -0700 > On Tue, 25 Jul 2006, Jo Rhett wrote: >> 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. On Jul 31, 2006, at 2:55 AM, Bruce Evans wrote: > 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. The hints are normal/standard but not working. Here's proof: root@arran 23# grep sio device.hints hint.sio.0.at="isa" hint.sio.0.port="0x3F8" hint.sio.0.flags="0x10" hint.sio.0.irq="4" hint.sio.1.at="isa" hint.sio.1.port="0x2F8" hint.sio.1.irq="3" root@arran 24# dmesg |grep sio sio0: <16550A-compatible COM port> port 0x2f8-0x2ff irq 3 flags 0x10 on acpi0 sio0: type 16550A, console sio1: <16550A-compatible COM port> port 0x3f8-0x3ff irq 4 on acpi0 sio1: type 16550A Heh? Hints says 0x3f8 should be sio0 and console... > 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). It appears that ACPI is setting the sio order to match the order that the BIOS lists them, which is completely arbitrary and downright wrong. -- Jo Rhett senior geek Silicon Valley Colocation