From hmo@sep.oldach.net  Thu Nov 16 20:47:09 2006
Return-Path: <hmo@sep.oldach.net>
Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125])
	by hub.freebsd.org (Postfix) with ESMTP id 6935D16A47E
	for <FreeBSD-gnats-submit@freebsd.org>; Thu, 16 Nov 2006 20:47:09 +0000 (UTC)
	(envelope-from hmo@sep.oldach.net)
Received: from rigel.oldach.net (rigel.oldach.net [194.8.96.250])
	by mx1.FreeBSD.org (Postfix) with ESMTP id 77C4843D5F
	for <FreeBSD-gnats-submit@freebsd.org>; Thu, 16 Nov 2006 20:47:05 +0000 (GMT)
	(envelope-from hmo@sep.oldach.net)
Received: from sep.oldach.net (hmo.in-dsl.de [217.197.85.210])
	by rigel.oldach.net (8.13.8/8.13.8/hmo30jul04) with ESMTP id kAGKl1WV091679
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK)
	for <FreeBSD-gnats-submit@freebsd.org>; Thu, 16 Nov 2006 21:47:03 +0100 (CET)
	(envelope-from hmo@sep.oldach.net)
Received: from sep.oldach.net (localhost [127.0.0.1])
	by sep.oldach.net (8.13.8/8.13.8/hmo26jun05) with ESMTP id kAGKl0GK005859
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO);
	Thu, 16 Nov 2006 21:47:00 +0100 (CET)
	(envelope-from hmo@sep.oldach.net)
Received: (from hmo@localhost)
	by sep.oldach.net (8.13.8/8.13.8/Submit/hmo26jun05) id kAGKks7v005850;
	Thu, 16 Nov 2006 21:46:54 +0100 (CET)
	(envelope-from hmo)
Message-Id: <200611162046.kAGKks7v005850@sep.oldach.net>
Date: Thu, 16 Nov 2006 21:46:54 +0100 (CET)
From: Helge Oldach <puc-uart@oldach.net>
Reply-To: Helge Oldach <puc-uart@oldach.net>
To: FreeBSD-gnats-submit@freebsd.org
Subject: UART PCI device just silent...
X-Send-Pr-Version: 3.113
X-GNATS-Notify:

>Number:         105616
>Category:       i386
>Synopsis:       UART PCI device just silent...
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-i386
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Thu Nov 16 20:50:01 GMT 2006
>Closed-Date:    Wed Nov 29 18:04:52 GMT 2006
>Last-Modified:  Wed Nov 29 18:10:09 GMT 2006
>Originator:     Helge Oldach
>Release:        FreeBSD 6.2-608 i386
>Organization:
>Environment:

System: FreeBSD localhost 6.2-608 FreeBSD 6.2-608 #1: Thu Nov 16 06:38:51 CET 2006 toor@localhost:/usr/obj/usr/src/sys/HMO-UART i386

>Description:

I own a dual serial PCI board that works just fine with puc(4) & sio(4).
No issue at all except occasional FIFO overruns.

Unfortunately I cannot make it work with puc(4) & uart(4).

I've compiled a kernel with minimal differences:

	include GENERIC
	nodevice sio
	device uart

The two on-board UARTs work just fine (after tweaking /boot/device.hints),
but the two PCI-based UARTs don't.

The PCI device and the UARTs are correctly recognized and properly
attached. I can open the devices with cu(1) or whatever application I
chose, but there is zero data transfer. Nothing in, nothing out. It
appears that carrier and other wires are there and properly recognized,
but I can't get a single byte through.

A verbose boot goes like this:

found->	vendor=0x1409, dev=0x7168, revid=0x01
	bus=0, slot=14, func=0
	class=07-00-02, hdrtype=0x00, mfdev=0
	cmdreg=0x0081, statreg=0x0280, cachelnsz=0 (dwords)
	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
	intpin=a, irq=10
	map[10]: type 4, range 32, base 00002000, size  5, enabled
pcib0: matched entry for 0.14.INTA (src \\_SB_.LNKB:0)
pcib0: slot 14 INTA routed to irq 10 via \\_SB_.LNKB
uart0: Reserved 0x20 bytes for rid 0x10 type 4 at 0x2000
puc0: <Dolphin Peripherals 4036> port 0x2000-0x201f irq 10 at device 14.0 on pci0
uart2: <16550 or compatible> on puc0
uart2: fast interrupt
uart3: <16550 or compatible> on puc0
uart3: fast interrupt
uart0: <16550 or compatible> at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
uart0: fast interrupt
uart1: <16550 or compatible> at port 0x2f8-0x2ff irq 3 on isa0
uart1: fast interrupt

The PCI device is not sharing IRQ 10 with another device. Disabling
PUC_FASTINTR does not make a difference.

Under both the "sio kernel" and the "uart kernel" pciconf(8) identifies
board as

puc0@pci0:14:0:	class=0x070002 card=0x40371409 chip=0x71681409 rev=0x01 hdr=0x00
    vendor   = 'Timedia Technology Co Ltd'
    device   = 'SUN 1889 / SUN 1699 PCI / ISA Asynchronous UART Signal Chips Solution'
    class    = simple comms
    subclass = UART

and devinfo(8) identifies under the uart kernel as

        puc0 pnpinfo vendor=0x1409 device=0x7168 subvendor=0x1409 subdevice=0x4037 class=0x070002 at slot=14 function=0
          uart2
          uart3

(similarly with sio device designators under the sio kernel).

As this PCI device was not yet properly recognized by 6-STABLE's
PCI/UART code, I had applied a minor fix:

--- sys/dev/uart/uart_bus_pci.c.ctm	Wed Aug  2 16:24:19 2006
+++ sys/dev/uart/uart_bus_pci.c	Wed Nov 15 10:18:56 2006
@@ -101,6 +101,8 @@
 	8 * DEFAULT_RCLK },
 { 0x1409, 0x7168, 0x1409, 0x4028, "Timedia Technology Serial Port", 0x10,
 	8 * DEFAULT_RCLK },
+{ 0x1409, 0x7168, 0x1409, 0x4037, "Timedia Technology Serial Port", 0x10,
+	8 * DEFAULT_RCLK },
 { 0x1409, 0x7168, 0x1409, 0x5025, "Timedia Technology Serial Port", 0x10,
 	8 * DEFAULT_RCLK },
 { 0x1409, 0x7168, 0x1409, 0x5027, "Timedia Technology Serial Port", 0x10,

The 7-CURRENT code is slightly different as it applies a generic
function to Timedia-type devices. From a code walk-through I concluded
that this minor patch would be functionally identical.

According to http://members.datafast.net.au/dft0802/downloads/pcidevs.txt
this subdev should be a 16650 UART. But we recognize it as a 16550 type.
Is there a potential issue 16- versus 32-byte FIFO?

>How-To-Repeat:

>Fix:

I have no idea.... sorry.
>Release-Note:
>Audit-Trail:

From: Marcel Moolenaar <xcllnt@mac.com>
To: Helge Oldach <puc-uart@oldach.net>
Cc: FreeBSD-gnats-submit@FreeBSD.org
Subject: Re: i386/105616: UART PCI device just silent...
Date: Sat, 18 Nov 2006 09:47:39 -0800

 On Nov 16, 2006, at 12:46 PM, Helge Oldach wrote:
 
 > --- sys/dev/uart/uart_bus_pci.c.ctm	Wed Aug  2 16:24:19 2006
 > +++ sys/dev/uart/uart_bus_pci.c	Wed Nov 15 10:18:56 2006
 > @@ -101,6 +101,8 @@
 >  	8 * DEFAULT_RCLK },
 >  { 0x1409, 0x7168, 0x1409, 0x4028, "Timedia Technology Serial  
 > Port", 0x10,
 >  	8 * DEFAULT_RCLK },
 > +{ 0x1409, 0x7168, 0x1409, 0x4037, "Timedia Technology Serial  
 > Port", 0x10,
 > +	8 * DEFAULT_RCLK },
 >  { 0x1409, 0x7168, 0x1409, 0x5025, "Timedia Technology Serial  
 > Port", 0x10,
 >  	8 * DEFAULT_RCLK },
 >  { 0x1409, 0x7168, 0x1409, 0x5027, "Timedia Technology Serial  
 > Port", 0x10,
 >
 
 The patch is not right. The PCI device you talk about is a *dual* serial
 I/O card. As such, puc(4) needs to attach to it, not uart(4). Adding the
 PCI ids to uart(4) will only cause a conflict, not to mention that if
 uart(4) attaches, it only attaches to the first.
 
 However, the patch shows that the clock on these cards is 8 times the
 default clock. I think that is why puc(4)+uart(4) doesn't work. If
 you select a baudrate that 8 times lower than what you know the baudrate
 should be, then you should be able to transmit and receive data. If
 that's the case, then puc(4) needs to be fixed to have the correct
 clock value for these boards.
 
 Note also that I have not heard of uart(4) being wrong in classifying  
 the
 type as 16550, 1660 or otherwise.
 
 FYI,
 
 -- 
 Marcel Moolenaar
 xcllnt@mac.com
 
 

From: puc-uart@oldach.net (Helge Oldach)
To: xcllnt@mac.com (Marcel Moolenaar)
Cc: FreeBSD-gnats-submit@FreeBSD.org
Subject: Re: i386/105616: UART PCI device just silent...
Date: Sat, 18 Nov 2006 19:14:22 +0100 (CET)

 Hi Marcel,
 
 thanks for your response.
 
 Marcel Moolenaar:
 >On Nov 16, 2006, at 12:46 PM, Helge Oldach wrote:
 >
 >> --- sys/dev/uart/uart_bus_pci.c.ctm	Wed Aug  2 16:24:19 2006
 >> +++ sys/dev/uart/uart_bus_pci.c	Wed Nov 15 10:18:56 2006
 >> @@ -101,6 +101,8 @@
 >>  	8 * DEFAULT_RCLK },
 >>  { 0x1409, 0x7168, 0x1409, 0x4028, "Timedia Technology Serial  
 >> Port", 0x10,
 >>  	8 * DEFAULT_RCLK },
 >> +{ 0x1409, 0x7168, 0x1409, 0x4037, "Timedia Technology Serial  
 >> Port", 0x10,
 >> +	8 * DEFAULT_RCLK },
 >>  { 0x1409, 0x7168, 0x1409, 0x5025, "Timedia Technology Serial  
 >> Port", 0x10,
 >>  	8 * DEFAULT_RCLK },
 >>  { 0x1409, 0x7168, 0x1409, 0x5027, "Timedia Technology Serial  
 >> Port", 0x10,
 >>
 >
 >The patch is not right. The PCI device you talk about is a *dual* serial
 >I/O card. As such, puc(4) needs to attach to it, not uart(4). Adding the
 >PCI ids to uart(4) will only cause a conflict, not to mention that if
 >uart(4) attaches, it only attaches to the first.
 
 Am I mistaken or, is it actually the case that puc(4) attaches to the
 board and not uart(4)?
 
 puc0: <Dolphin Peripherals 4036> port 0x2000-0x201f irq 10 at device 14.0 on pci0
 uart2: <16550 or compatible> on puc0
 uart2: fast interrupt
 uart3: <16550 or compatible> on puc0
 uart3: fast interrupt
 
 >However, the patch shows that the clock on these cards is 8 times the
 >default clock.
 
 That was just a rough guess, copied from seemingly similar cards.
 
 So I understand no specific puc(4) attribution needs to be made for this
 card. It is already properly recognized, albeit with misleading text in
 pucdata.c:
 
         {   "Dolphin Peripherals 4036",
             {   0x1409, 0x7168, 0,      0       },
             {   0xffff, 0xffff, 0,      0       },
             {
                 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 },
                 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8 },
             },
         },
 
 >I think that is why puc(4)+uart(4) doesn't work. If
 >you select a baudrate that 8 times lower than what you know the baudrate
 >should be, then you should be able to transmit and receive data. If
 >that's the case, then puc(4) needs to be fixed to have the correct
 >clock value for these boards.
 
 I will give this a try to see if it helps.
 
 Note that also pucdata.c assumes 8 times baudrate.
 
 >Note also that I have not heard of uart(4) being wrong in classifying
 >the type as 16550, 1660 or otherwise.
 
 Fine with me. I am not claiming the source mentioned is correct. I just
 say there appears to be some disagreement.
 
 Thanks for your response anyway.
 
 Regards,
 Helge

From: Marcel Moolenaar <xcllnt@mac.com>
To: Helge Oldach <puc-uart@oldach.net>
Cc: FreeBSD-gnats-submit@FreeBSD.org
Subject: Re: i386/105616: UART PCI device just silent...
Date: Sat, 18 Nov 2006 10:31:52 -0800

 On Nov 18, 2006, at 10:14 AM, Helge Oldach wrote:
 
 > Hi Marcel,
 >
 > thanks for your response.
 >
 > Marcel Moolenaar:
 >> On Nov 16, 2006, at 12:46 PM, Helge Oldach wrote:
 >>
 >>> --- sys/dev/uart/uart_bus_pci.c.ctm	Wed Aug  2 16:24:19 2006
 >>> +++ sys/dev/uart/uart_bus_pci.c	Wed Nov 15 10:18:56 2006
 >>> @@ -101,6 +101,8 @@
 >>>  	8 * DEFAULT_RCLK },
 >>>  { 0x1409, 0x7168, 0x1409, 0x4028, "Timedia Technology Serial
 >>> Port", 0x10,
 >>>  	8 * DEFAULT_RCLK },
 >>> +{ 0x1409, 0x7168, 0x1409, 0x4037, "Timedia Technology Serial
 >>> Port", 0x10,
 >>> +	8 * DEFAULT_RCLK },
 >>>  { 0x1409, 0x7168, 0x1409, 0x5025, "Timedia Technology Serial
 >>> Port", 0x10,
 >>>  	8 * DEFAULT_RCLK },
 >>>  { 0x1409, 0x7168, 0x1409, 0x5027, "Timedia Technology Serial
 >>> Port", 0x10,
 >>>
 >>
 >> The patch is not right. The PCI device you talk about is a *dual*  
 >> serial
 >> I/O card. As such, puc(4) needs to attach to it, not uart(4).  
 >> Adding the
 >> PCI ids to uart(4) will only cause a conflict, not to mention that if
 >> uart(4) attaches, it only attaches to the first.
 >
 > Am I mistaken or, is it actually the case that puc(4) attaches to the
 > board and not uart(4)?
 >
 > puc0: <Dolphin Peripherals 4036> port 0x2000-0x201f irq 10 at  
 > device 14.0 on pci0
 > uart2: <16550 or compatible> on puc0
 > uart2: fast interrupt
 > uart3: <16550 or compatible> on puc0
 > uart3: fast interrupt
 
 As it shows, puc0 attaches to the pci0 bus. This logically represents
 that puc checks the PCI ids. It also shows that uart2 and uart3 attach
 to puc0. Consequently (by design), uart gets the clock information from
 puc. If puc has it wrong, then uart will not work well.
 
 >> However, the patch shows that the clock on these cards is 8 times the
 >> default clock.
 >
 > That was just a rough guess, copied from seemingly similar cards.
 >
 > So I understand no specific puc(4) attribution needs to be made for  
 > this
 > card. It is already properly recognized, albeit with misleading  
 > text in
 > pucdata.c:
 >
 >         {   "Dolphin Peripherals 4036",
 >             {   0x1409, 0x7168, 0,      0       },
 >             {   0xffff, 0xffff, 0,      0       },
 >             {
 >                 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 },
 >                 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8 },
 >             },
 >         },
 
 Hmmm, if puc currently has a clock of 8 times the default, then
 we may have another problem. Could you check if puc got it
 wrong as it is? Simply select a baudrate that's 8 times higher than
 the baudrate you want. If you can communicate, then your card
 does *not* have a clock that's 8 times default.
 
 If you can't get any data transmitted or received when you select
 differing baudrates (to compensate for a lock that's wrong) then
 we obviously have another problem.
 
 >> Note also that I have not heard of uart(4) being wrong in classifying
 >> the type as 16550, 1660 or otherwise.
 >
 > Fine with me. I am not claiming the source mentioned is correct. I  
 > just
 > say there appears to be some disagreement.
 
 The disagreement may be important. Maybe your card has "false"
 PCI ids and is recognized for something it isn't. Of course,
 there may also be bugs in the source code that exhibit them-
 selves this way. It would be good to find out what it is...
 
 -- 
 Marcel Moolenaar
 xcllnt@mac.com
 
 

From: puc-art@oldach.net (Helge Oldach)
To: xcllnt@mac.com (Marcel Moolenaar)
Cc: FreeBSD-gnats-submit@freebsd.org
Subject: Re: i386/105616: UART PCI device just silent...
Date: Sat, 18 Nov 2006 22:16:56 +0100 (CET)

 Hi Marcel,
 
 Marcel Moolenaar:
 >On Nov 18, 2006, at 10:14 AM, Helge Oldach wrote:
 >> So I understand no specific puc(4) attribution needs to be made for
 >> this card. It is already properly recognized, albeit with misleading
 >> text in pucdata.c:
 >>
 >>         {   "Dolphin Peripherals 4036",
 >>             {   0x1409, 0x7168, 0,      0       },
 >>             {   0xffff, 0xffff, 0,      0       },
 >>             {
 >>                 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 },
 >>                 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8 },
 >>             },
 >>         },
 >
 >Hmmm, if puc currently has a clock of 8 times the default, then
 >we may have another problem. Could you check if puc got it
 >wrong as it is?
 
 Yes, this is the case. I tried with the original pucdata.c as well as
 original uart_bus_pci.c. I forgot to mention that I am running a rather
 recent STABLE. CTM'ed just a week ago.
 
 I tried to attach with all speeds to cuau2, using cu -s <speed>. This
 should be a 9600 baud port (it talks to a standard Cisco router console
 port and works fine at 9600 Baud with sio). Particularly, neither 1200
 nor 115200 work.
 
 I also changed the "COM_FREQ * 8" to just "COM_FREQ", and retried the
 exercise. Same result: the ports just stay silent.
 
 BTW, I would be rather astonished if the latter exercise would change
 things, as the board works fine under sio(4) attached to puc(4), hence
 "COM_FREQ * 8" is probably the Right Thing.
 
 I also tried swapping the ports (just in case sio and uart disagree on
 the numbering) - same. Actually I have a Palm serial cradle on the other
 port, and attaching with cu to it outputs some blank lines immediately
 after I hit the sync button on the cradle. This is the same port that
 sio(4) recognizes as "the Palm port".
 
 >>> Note also that I have not heard of uart(4) being wrong in
 >>> classifying the type as 16550, 1660 or otherwise.
 >> Fine with me. I am not claiming the source mentioned is correct. I
 >> just say there appears to be some disagreement.
 >The disagreement may be important. Maybe your card has "false" PCI ids
 >and is recognized for something it isn't.
 
 Well... guessing from the box that it shipped with and the documentation
 (which labels the board as a #4037 type board) there is indeed a little
 room for a mismatch. The box says "two 16C550 UART with 32 Byte FIFO"
 while the documentation says "two 16C650 32FIFO". I suspect the box's
 mentioning of 16550 is simply marketing blurb.
 
 The PCI/UART combo chip is a SUN1889 which AFAIK is indeed specified
 with 32 Byte FIFO. The serial driver chip is a TI-75232. This appears
 pretty identical to what the above source mentions. I can send you
 photos if you like. :-)
 
 >Of course, there may also be bugs in the source code that exhibit them-
 >selves this way. It would be good to find out what it is...
 
 Just advise, I can play with this box as I prefer... What strikes me
 is that sio(4) (also attached to puc(4)) supports the board just fine,
 while uart(4) apparently doesn't.
 
 Regards,
 Helge
 

From: puc-uart@oldach.net (Helge Oldach)
To: xcllnt@mac.com (Marcel Moolenaar)
Cc: FreeBSD-gnats-submit@FreeBSD.org
Subject: Re: i386/105616: UART PCI device just silent...
Date: Tue, 21 Nov 2006 21:20:23 +0100 (CET)

 Hi Marcel,
 
 >Well... guessing from the box that it shipped with and the documentation
 >(which labels the board as a #4037 type board) there is indeed a little
 >room for a mismatch. The box says "two 16C550 UART with 32 Byte FIFO"
 >while the documentation says "two 16C650 32FIFO". I suspect the box's
 >mentioning of 16550 is simply marketing blurb.
 >
 >The PCI/UART combo chip is a SUN1889 which AFAIK is indeed specified
 >with 32 Byte FIFO. The serial driver chip is a TI-75232. This appears
 >pretty identical to what the above source mentions. I can send you
 >photos if you like. :-)
 >
 >>Of course, there may also be bugs in the source code that exhibit them-
 >>selves this way. It would be good to find out what it is...
 >
 >Just advise, I can play with this box as I prefer... What strikes me
 >is that sio(4) (also attached to puc(4)) supports the board just fine,
 >while uart(4) apparently doesn't.
 
 Would you kindly advice on how to proceed?
 
 The "sysctl dev" delta between a "sio kernel" and an "uart kernel" is:
 
 107,124c107,118
 < dev.sio.4.%desc: Dolphin Peripherals 4036
 < dev.sio.4.%driver: sio
 < dev.sio.4.%parent: puc0
 < dev.sio.5.%desc: Dolphin Peripherals 4036
 < dev.sio.5.%driver: sio
 < dev.sio.5.%parent: puc0
 < dev.sio.0.%desc: Standard PC COM port
 < dev.sio.0.%driver: sio
 < dev.sio.0.%location: handle=\_SB_.PCI0.IBRG.COM1
 < dev.sio.0.%pnpinfo: _HID=PNP0501 _UID=1
 < dev.sio.0.%parent: acpi0
 < dev.sio.0.wake: 0
 < dev.sio.1.%desc: Standard PC COM port
 < dev.sio.1.%driver: sio
 < dev.sio.1.%location: handle=\_SB_.PCI0.IBRG.COM2
 < dev.sio.1.%pnpinfo: _HID=PNP0501 _UID=2
 < dev.sio.1.%parent: acpi0
 < dev.sio.1.wake: 0
 ---
 > dev.uart.2.%desc: 16550 or compatible
 > dev.uart.2.%driver: uart
 > dev.uart.2.%parent: puc0
 > dev.uart.3.%desc: 16550 or compatible
 > dev.uart.3.%driver: uart
 > dev.uart.3.%parent: puc0
 > dev.uart.0.%desc: 16550 or compatible
 > dev.uart.0.%driver: uart
 > dev.uart.0.%parent: isa0
 > dev.uart.1.%desc: 16550 or compatible
 > dev.uart.1.%driver: uart
 > dev.uart.1.%parent: isa0
 
 Maybe this gives some hint?
 
 Is there anything that I can help debugging with?
 
 Regards,
 Helge
 

From: puc-uart@oldach.net (Helge Oldach)
To: xcllnt@mac.com (Marcel Moolenaar)
Cc: FreeBSD-gnats-submit@FreeBSD.org
Subject: Re: i386/105616: UART PCI device just silent...
Date: Tue, 21 Nov 2006 21:16:39 +0100 (CET)

 Helge Oldach:
 >From hmo Sat Nov 18 22:16:56 2006
 >Subject: Re: i386/105616: UART PCI device just silent...
 >In-Reply-To: <04C70C67-60DD-4CF8-A624-E76AC92D5F42@mac.com> from Marcel Moolenaar at "Nov 18, 2006 10:31:52 am"
 >To: xcllnt@mac.com (Marcel Moolenaar)
 >Date: Sat, 18 Nov 2006 22:16:56 +0100 (CET)
 >Cc: FreeBSD-gnats-submit@FreeBSD.org
 >From: puc-art@oldach.net (Helge Oldach)
 
 >Hi Marcel,
 >
 >Marcel Moolenaar:
 >>On Nov 18, 2006, at 10:14 AM, Helge Oldach wrote:
 >>> So I understand no specific puc(4) attribution needs to be made for
 >>> this card. It is already properly recognized, albeit with misleading
 >>> text in pucdata.c:
 >>>
 >>>         {   "Dolphin Peripherals 4036",
 >>>             {   0x1409, 0x7168, 0,      0       },
 >>>             {   0xffff, 0xffff, 0,      0       },
 >>>             {
 >>>                 { PUC_PORT_TYPE_COM, 0x10, 0x00, COM_FREQ * 8 },
 >>>                 { PUC_PORT_TYPE_COM, 0x10, 0x08, COM_FREQ * 8 },
 >>>             },
 >>>         },
 >>
 >>Hmmm, if puc currently has a clock of 8 times the default, then
 >>we may have another problem. Could you check if puc got it
 >>wrong as it is?
 >
 >Yes, this is the case. I tried with the original pucdata.c as well as
 >original uart_bus_pci.c. I forgot to mention that I am running a rather
 >recent STABLE. CTM'ed just a week ago.
 >
 >I tried to attach with all speeds to cuau2, using cu -s <speed>. This
 >should be a 9600 baud port (it talks to a standard Cisco router console
 >port and works fine at 9600 Baud with sio). Particularly, neither 1200
 >nor 115200 work.
 >
 >I also changed the "COM_FREQ * 8" to just "COM_FREQ", and retried the
 >exercise. Same result: the ports just stay silent.
 >
 >BTW, I would be rather astonished if the latter exercise would change
 >things, as the board works fine under sio(4) attached to puc(4), hence
 >"COM_FREQ * 8" is probably the Right Thing.
 >
 >I also tried swapping the ports (just in case sio and uart disagree on
 >the numbering) - same. Actually I have a Palm serial cradle on the other
 >port, and attaching with cu to it outputs some blank lines immediately
 >after I hit the sync button on the cradle. This is the same port that
 >sio(4) recognizes as "the Palm port".
 >
 >>>> Note also that I have not heard of uart(4) being wrong in
 >>>> classifying the type as 16550, 1660 or otherwise.
 >>> Fine with me. I am not claiming the source mentioned is correct. I
 >>> just say there appears to be some disagreement.
 >>The disagreement may be important. Maybe your card has "false" PCI ids
 >>and is recognized for something it isn't.
 >
 >Well... guessing from the box that it shipped with and the documentation
 >(which labels the board as a #4037 type board) there is indeed a little
 >room for a mismatch. The box says "two 16C550 UART with 32 Byte FIFO"
 >while the documentation says "two 16C650 32FIFO". I suspect the box's
 >mentioning of 16550 is simply marketing blurb.
 >
 >The PCI/UART combo chip is a SUN1889 which AFAIK is indeed specified
 >with 32 Byte FIFO. The serial driver chip is a TI-75232. This appears
 >pretty identical to what the above source mentions. I can send you
 >photos if you like. :-)
 >
 >>Of course, there may also be bugs in the source code that exhibit them-
 >>selves this way. It would be good to find out what it is...
 >
 >Just advise, I can play with this box as I prefer... What strikes me
 >is that sio(4) (also attached to puc(4)) supports the board just fine,
 >while uart(4) apparently doesn't.
 >
 >Regards,
 >Helge
 >
 

From: Marcel Moolenaar <xcllnt@mac.com>
To: Helge Oldach <puc-uart@oldach.net>
Cc: FreeBSD-gnats-submit@FreeBSD.org
Subject: Re: i386/105616: UART PCI device just silent...
Date: Sun, 26 Nov 2006 13:35:51 -0800

 On Nov 21, 2006, at 12:20 PM, Helge Oldach wrote:
 
 > Would you kindly advice on how to proceed?
 
 Hi Helge,
 
 I'm still trying to understand what the failure mode is and what may  
 cause
 it, so at this time I'm still looking for answers. Please bear with  
 me...
 
 I'll try to get one of those cards myself. That should help solve this.
 
 See below.
 
 > The "sysctl dev" delta between a "sio kernel" and an "uart kernel" is:
 >
 > 107,124c107,118
 > < dev.sio.4.%desc: Dolphin Peripherals 4036
 > < dev.sio.4.%driver: sio
 > < dev.sio.4.%parent: puc0
 > < dev.sio.5.%desc: Dolphin Peripherals 4036
 > < dev.sio.5.%driver: sio
 > < dev.sio.5.%parent: puc0
 > < dev.sio.0.%desc: Standard PC COM port
 > < dev.sio.0.%driver: sio
 > < dev.sio.0.%location: handle=\_SB_.PCI0.IBRG.COM1
 > < dev.sio.0.%pnpinfo: _HID=PNP0501 _UID=1
 > < dev.sio.0.%parent: acpi0
 > < dev.sio.0.wake: 0
 > < dev.sio.1.%desc: Standard PC COM port
 > < dev.sio.1.%driver: sio
 > < dev.sio.1.%location: handle=\_SB_.PCI0.IBRG.COM2
 > < dev.sio.1.%pnpinfo: _HID=PNP0501 _UID=2
 > < dev.sio.1.%parent: acpi0
 > < dev.sio.1.wake: 0
 > ---
 >> dev.uart.2.%desc: 16550 or compatible
 >> dev.uart.2.%driver: uart
 >> dev.uart.2.%parent: puc0
 >> dev.uart.3.%desc: 16550 or compatible
 >> dev.uart.3.%driver: uart
 >> dev.uart.3.%parent: puc0
 >> dev.uart.0.%desc: 16550 or compatible
 >> dev.uart.0.%driver: uart
 >> dev.uart.0.%parent: isa0
 >> dev.uart.1.%desc: 16550 or compatible
 >> dev.uart.1.%driver: uart
 >> dev.uart.1.%parent: isa0
 >
 > Maybe this gives some hint?
 
 One thing that strikes me as odd is that sio(4) attaches to acpi(4),
 while uart(4) attaches to isa(4). You mentioned that the kernels
 where otherwise identical, but that you had to update device.hints.
 I would expect uart(4) to attach to acpi(4) and not to isa(4).
 
 While this has nothing to do with puc(4), I'd like to know why this
 is happening. Could you send me a verbose dmesg of both kernels?
 
 thanks,
 
 -- 
 Marcel Moolenaar
 xcllnt@mac.com
 
 

From: puc-uart@oldach.net (Helge Oldach)
To: xcllnt@mac.com (Marcel Moolenaar)
Cc: FreeBSD-gnats-submit@FreeBSD.org
Subject: Re: i386/105616: UART PCI device just silent...
Date: Mon, 27 Nov 2006 00:00:42 +0100 (CET)

 --ELM82590640;-1539-0_
 Content-Type: text/plain; charset=US-ASCII
 Content-Transfer-Encoding: 7bit
 
 Hi Marcel,
 
 >> The "sysctl dev" delta between a "sio kernel" and an "uart kernel" is:
 >>
 >> 107,124c107,118
 >> < dev.sio.4.%desc: Dolphin Peripherals 4036
 >> < dev.sio.4.%driver: sio
 >> < dev.sio.4.%parent: puc0
 >> < dev.sio.5.%desc: Dolphin Peripherals 4036
 >> < dev.sio.5.%driver: sio
 >> < dev.sio.5.%parent: puc0
 >> < dev.sio.0.%desc: Standard PC COM port
 >> < dev.sio.0.%driver: sio
 >> < dev.sio.0.%location: handle=\_SB_.PCI0.IBRG.COM1
 >> < dev.sio.0.%pnpinfo: _HID=PNP0501 _UID=1
 >> < dev.sio.0.%parent: acpi0
 >> < dev.sio.0.wake: 0
 >> < dev.sio.1.%desc: Standard PC COM port
 >> < dev.sio.1.%driver: sio
 >> < dev.sio.1.%location: handle=\_SB_.PCI0.IBRG.COM2
 >> < dev.sio.1.%pnpinfo: _HID=PNP0501 _UID=2
 >> < dev.sio.1.%parent: acpi0
 >> < dev.sio.1.wake: 0
 >> ---
 >>> dev.uart.2.%desc: 16550 or compatible
 >>> dev.uart.2.%driver: uart
 >>> dev.uart.2.%parent: puc0
 >>> dev.uart.3.%desc: 16550 or compatible
 >>> dev.uart.3.%driver: uart
 >>> dev.uart.3.%parent: puc0
 >>> dev.uart.0.%desc: 16550 or compatible
 >>> dev.uart.0.%driver: uart
 >>> dev.uart.0.%parent: isa0
 >>> dev.uart.1.%desc: 16550 or compatible
 >>> dev.uart.1.%driver: uart
 >>> dev.uart.1.%parent: isa0
 >>
 >> Maybe this gives some hint?
 >
 >One thing that strikes me as odd is that sio(4) attaches to acpi(4),
 >while uart(4) attaches to isa(4).
 
 Yes. That is indeed the reason why I send you this. But maybe it's just
 harmless.
 
 >While this has nothing to do with puc(4), I'd like to know why this
 >is happening. Could you send me a verbose dmesg of both kernels?
 
 Please see attached the kernel configs and verbose debugs. You will see
 that the kernel configs are both based on GENERIC with a lot of unused
 devices being explicitely disabled. This saves som 1.5 MB kernel space.
 Otehrwise the delta between the two currently is:
 
 --- /sys/i386/conf/HMO	Thu Aug 31 16:53:24 2006
 +++ /sys/i386/conf/HMO-UART	Thu Nov 16 00:00:00 2006
 @@ -134,7 +134,6 @@
  options 	IPFIREWALL_FORWARD	#packet destination changes
  
  device		puc
 -options 	PUC_FASTINTR
  
  #options 	IPSEC			#IP security
  #options 	IPSEC_ESP		#IP security (crypto; define w/ IPSEC)
 @@ -142,3 +141,8 @@
  #options 	IPSEC_FILTERGIF		#filter ipsec packets from a tunnel
  device		crypto		# core crypto support
  options 	FAST_IPSEC		#new IPsec (cannot define w/ IPSEC)
 +
 +nodevice		sio		# 8250, 16[45]50 based serial ports
 +# uart: newbusified driver for serial interfaces.  It consolidates the sio(4),
 +#	sab(4) and zs(4) drivers.
 +device		uart
 
 Regards,
 Helge
 
 --ELM82590640;-1539-0_
 Content-Type: text/plain; charset=ISO-8859-1
 Content-Disposition: attachment; filename=HMO
 Content-Description: /sys/i386/conf/HMO
 Content-Transfer-Encoding: 7bit
 
 include GENERIC
 
 nodevice		ahb		# EISA AHA1742 family
 nodevice		ahc		# AHA2940 and onboard AIC7xxx devices
 nodevice		ahd		# AHA39320/29320 and onboard AIC79xx devices
 nodevice		amd		# AMD 53C974 (Tekram DC-390(T))
 nodevice		isp		# Qlogic family
 nodevice		mpt		# LSI-Logic MPT-Fusion
 nodevice		sym		# NCR/Symbios Logic (newer chipsets + those of `ncr')
 nodevice		trm		# Tekram DC395U/UW/F DC315U adapters
 nodevice		adv		# Advansys SCSI adapters
 nodevice		adw		# Advansys wide SCSI adapters
 nodevice		aha		# Adaptec 154x SCSI adapters
 nodevice		aic		# Adaptec 15[012]x SCSI adapters, AIC-6[23]60.
 nodevice		bt		# Buslogic/Mylex MultiMaster SCSI adapters
 nodevice		ncv		# NCR 53C500
 nodevice		nsp		# Workbit Ninja SCSI-3
 nodevice		stg		# TMC 18C30/18C50
 nodevice		amr		# AMI MegaRAID
 nodevice		arcmsr		# Areca SATA II RAID
 nodevice		asr		# DPT SmartRAID V, VI and Adaptec SCSI RAID
 nodevice		ciss		# Compaq Smart RAID 5*
 nodevice		dpt		# DPT Smartcache III, IV - See NOTES for options
 nodevice		hptmv		# Highpoint RocketRAID 182x
 nodevice		rr232x		# Highpoint RocketRAID 232x
 nodevice		iir		# Intel Integrated RAID
 nodevice		ips		# IBM (Adaptec) ServeRAID
 nodevice		mly		# Mylex AcceleRAID/eXtremeRAID
 nodevice		twa		# 3ware 9000 series PATA/SATA RAID
 nodevice		aac		# Adaptec FSA RAID
 nodevice		aacp		# SCSI passthrough for aac (requires CAM)
 nodevice		ida		# Compaq Smart RAID
 nodevice		mfi		# LSI MegaRAID SAS
 nodevice		mlx		# Mylex DAC960 family
 nodevice		pst		# Promise Supertrak SX6000
 nodevice		twe		# 3ware ATA RAID
 
 nodevice		cbb		# cardbus (yenta) bridge
 nodevice		pccard		# PC Card (16-bit) bus
 nodevice		cardbus		# CardBus (32-bit) bus
 
 nodevice		plip		# TCP/IP over parallel
 
 nodevice		de		# DEC/Intel DC21x4x (``Tulip'')
 nodevice		em		# Intel PRO/1000 adapter Gigabit Ethernet Card
 nodevice		ixgb		# Intel PRO/10GbE Ethernet Card
 nodevice		txp		# 3Com 3cR990 (``Typhoon'')
 nodevice		vx		# 3Com 3c590, 3c595 (``Vortex'')
 nodevice		bce		# Broadcom BCM5706/BCM5708 Gigabit Ethernet
 nodevice		bfe		# Broadcom BCM440x 10/100 Ethernet
 nodevice		bge		# Broadcom BCM570xx Gigabit Ethernet
 nodevice		dc		# DEC/Intel 21143 and various workalikes
 nodevice		fxp		# Intel EtherExpress PRO/100B (82557, 82558)
 nodevice		lge		# Level 1 LXT1001 gigabit ethernet
 nodevice		nge		# NatSemi DP83820 gigabit ethernet
 nodevice		nve		# nVidia nForce MCP on-board Ethernet Networking
 nodevice		pcn		# AMD Am79C97x PCI 10/100 (precedence over 'lnc')
 nodevice		re		# RealTek 8139C+/8169/8169S/8110S
 nodevice		rl		# RealTek 8129/8139
 nodevice		sf		# Adaptec AIC-6915 (``Starfire'')
 nodevice		sis		# Silicon Integrated Systems SiS 900/SiS 7016
 nodevice		sk		# SysKonnect SK-984x & SK-982x gigabit Ethernet
 nodevice		ste		# Sundance ST201 (D-Link DFE-550TX)
 nodevice		stge		# Sundance/Tamarack TC9021 gigabit Ethernet
 nodevice		ti		# Alteon Networks Tigon I/II gigabit Ethernet
 nodevice		tl		# Texas Instruments ThunderLAN
 nodevice		tx		# SMC EtherPower II (83c170 ``EPIC'')
 nodevice		vge		# VIA VT612x gigabit ethernet
 nodevice		vr		# VIA Rhine, Rhine II
 nodevice		wb		# Winbond W89C840F
 nodevice		xl		# 3Com 3c90x (``Boomerang'', ``Cyclone'')
 nodevice		cs		# Crystal Semiconductor CS89x0 NIC
 nodevice		ed		# NE[12]000, SMC Ultra, 3c503, DS8390 cards
 nodevice		ex		# Intel EtherExpress Pro/10 and Pro/10+
 nodevice		ep		# Etherlink III based cards
 nodevice		fe		# Fujitsu MB8696x based cards
 nodevice		ie		# EtherExpress 8/16, 3C507, StarLAN 10 etc.
 nodevice		lnc		# NE2100, NE32-VL Lance Ethernet cards
 nodevice		sn		# SMC's 9000 series of Ethernet chips
 nodevice		xe		# Xircom pccard Ethernet
 
 nodevice		wlan		# 802.11 support
 nodevice		wlan_wep	# 802.11 WEP support
 nodevice		wlan_ccmp	# 802.11 CCMP support
 nodevice		wlan_tkip	# 802.11 TKIP support
 nodevice		an		# Aironet 4500/4800 802.11 wireless NICs.
 nodevice		ath		# Atheros pci/cardbus NIC's
 nodevice		ath_hal		# Atheros HAL (Hardware Access Layer)
 nodevice		ath_rate_sample	# SampleRate tx rate control for ath
 nodevice		awi		# BayStack 660 and others
 nodevice		ral		# Ralink Technology RT2500 wireless NICs.
 nodevice		wi		# WaveLAN/Intersil/Symbol 802.11 wireless NICs.
 
 nodevice		sl		# Kernel SLIP
 nodevice		ppp		# Kernel PPP
 nodevice		tun		# Packet tunnel.
 
 nodevice		md		# Memory "disks"
 nodevice		gif		# IPv6 and IPv4 tunneling
 nodevice		faith		# IPv6-to-IPv4 relaying (translation)
 
 nodevice		uhci		# UHCI PCI->USB interface
 nodevice		ohci		# OHCI PCI->USB interface
 nodevice		ehci		# EHCI PCI->USB interface (USB 2.0)
 nodevice		usb		# USB Bus (required)
 nodevice		ugen		# Generic
 nodevice		uhid		# "Human Interface Devices"
 nodevice		ukbd		# Keyboard
 nodevice		ulpt		# Printer
 nodevice		umass		# Disks/Mass storage - Requires scbus and da
 nodevice		ums		# Mouse
 nodevice		ural		# Ralink Technology RT2500USB wireless NICs
 nodevice		urio		# Diamond Rio 500 MP3 player
 nodevice		uscanner	# Scanners
 nodevice		aue		# ADMtek USB Ethernet
 nodevice		axe		# ASIX Electronics USB Ethernet
 nodevice		cdce		# Generic USB over Ethernet
 nodevice		cue		# CATC USB Ethernet
 nodevice		kue		# Kawasaki LSI USB Ethernet
 nodevice		rue		# RealTek RTL8150 USB Ethernet
 nodevice		firewire	# FireWire bus code
 nodevice		sbp		# SCSI over FireWire (Requires scbus and da)
 nodevice		fwe		# Ethernet over FireWire (non-standard!)
 
 nooption 	NFSCLIENT		# Network Filesystem Client
 nooption 	NFSSERVER		# Network Filesystem Server
 nooption 	NFS_ROOT		# NFS usable as /, requires NFSCLIENT
 nooption 	MSDOSFS			# MSDOS Filesystem
 nooption 	CD9660			# ISO 9660 Filesystem
 nooption 	PROCFS			# Process filesystem (requires PSEUDOFS)
 nooption 	PSEUDOFS		# Pseudo-filesystem framework
 
 options 	IPFIREWALL		#firewall
 options 	IPFIREWALL_FORWARD	#packet destination changes
 
 device		puc
 options 	PUC_FASTINTR
 
 #options 	IPSEC			#IP security
 #options 	IPSEC_ESP		#IP security (crypto; define w/ IPSEC)
 #options 	IPSEC_DEBUG		#debug for IP security
 #options 	IPSEC_FILTERGIF		#filter ipsec packets from a tunnel
 device		crypto		# core crypto support
 options 	FAST_IPSEC		#new IPsec (cannot define w/ IPSEC)
 
 --ELM82590640;-1539-0_
 Content-Type: text/plain; charset=ISO-8859-1
 Content-Disposition: attachment; filename=HMO.dmesg
 Content-Description: /tmp/HMO.dmesg
 Content-Transfer-Encoding: 7bit
 
 Copyright (c) 1992-2006 The FreeBSD Project.
 Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
 	The Regents of the University of California. All rights reserved.
 FreeBSD is a registered trademark of The FreeBSD Foundation.
 FreeBSD 6.2-615 #0: Mon Nov 20 15:58:20 CET 2006
     toor@sep.oldach.net:/usr/obj/usr/src/sys/HMO
 Preloaded elf kernel "/boot/kernel/kernel" at 0xc08a3000.
 Preloaded elf module "/boot/kernel/if_fxp.ko" at 0xc08a30cc.
 Preloaded elf module "/boot/kernel/if_wi.ko" at 0xc08a3178.
 Preloaded elf module "/boot/kernel/wlan.ko" at 0xc08a3224.
 Preloaded elf module "/boot/kernel/snd_ess.ko" at 0xc08a32d0.
 Preloaded elf module "/boot/kernel/sound.ko" at 0xc08a337c.
 Preloaded elf module "/boot/kernel/snd_sbc.ko" at 0xc08a3428.
 Preloaded elf module "/boot/kernel/usb.ko" at 0xc08a34d4.
 Preloaded elf module "/boot/kernel/ugen.ko" at 0xc08a357c.
 Preloaded elf module "/boot/kernel/umass.ko" at 0xc08a3628.
 Preloaded elf module "/boot/kernel/acpi.ko" at 0xc08a36d4.
 Preloaded elf module "/boot/kernel/cbb.ko" at 0xc08a3780.
 Preloaded elf module "/boot/kernel/exca.ko" at 0xc08a3828.
 Preloaded elf module "/boot/kernel/pccard.ko" at 0xc08a38d4.
 Preloaded elf module "/boot/kernel/sym.ko" at 0xc08a3980.
 Preloaded elf module "/boot/kernel/uplcom.ko" at 0xc08a3a28.
 Preloaded elf module "/boot/kernel/ucom.ko" at 0xc08a3ad4.
 Preloaded elf module "/boot/kernel/uvisor.ko" at 0xc08a3b80.
 Preloaded elf module "/boot/kernel/wlan_wep.ko" at 0xc08a3c2c.
 Preloaded elf module "/boot/kernel/if_bridge.ko" at 0xc08a3cdc.
 Calibrating clock(s) ... i8254 clock: 1193072 Hz
 CLK_USE_I8254_CALIBRATION not specified - using default frequency
 Timecounter "i8254" frequency 1193182 Hz quality 0
 Calibrating TSC clock ... TSC clock: 646666138 Hz
 CPU: Intel Pentium III (646.67-MHz 686-class CPU)
   Origin = "GenuineIntel"  Id = 0x683  Stepping = 3
   Features=0x383f9ff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR,SSE>
 real memory  = 402653184 (384 MB)
 Physical memory chunk(s):
 0x0000000000001000 - 0x000000000009efff, 647168 bytes (158 pages)
 0x0000000000100000 - 0x00000000003fffff, 3145728 bytes (768 pages)
 0x0000000000c25000 - 0x00000000178fcfff, 382566400 bytes (93400 pages)
 avail memory = 384528384 (366 MB)
 bios32: Found BIOS32 Service Directory header at 0xc00fa000
 bios32: Entry = 0xec700 (c00ec700)  Rev = 0  Len = 1
 pcibios: PCI BIOS entry at 0xec700+0x11a0
 pnpbios: Found PnP BIOS data at 0xc00f7db0
 pnpbios: Entry = f0000:6480  Rev = 1.0
 pnpbios: OEM ID b5b0110e
 Other BIOS signatures found:
 wlan: <802.11 Link Layer>
 crypto: <crypto core>
 random: <entropy source, Software, Yarrow>
 kbd: new array size 4
 kbd1 at kbdmux0
 mem: <memory>
 Pentium Pro MTRR support enabled
 null: <null device, zero device>
 io: <I/O>
 npx0: INT 16 interface
 acpi0: <COMPAQ CPQB0B5> on motherboard
 acpi0: [MPSAFE]
 pci_open(1):	mode 1 addr port (0x0cf8) is 0x00000058
 pci_open(1a):	mode1res=0x80000000 (0x80000000)
 pci_cfgcheck:	device 0 [class=060000] [hdr=00] is there (id=71908086)
 pcibios: BIOS version 2.10
 Found $PIR table, 9 entries at 0xc00edd10
 PCI-Only Interrupts: none
 Location  Bus Device Pin  Link  IRQs
 slot 1      0   13    A   0x60  3 4 5 6 7 9 10 11
 slot 1      0   13    B   0x61  3 4 5 6 7 9 10 11
 slot 1      0   13    C   0x62  3 4 5 6 7 9 10 11
 slot 1      0   13    D   0x63  3 4 5 6 7 9 10 11
 slot 2      0   14    A   0x61  3 4 5 6 7 9 10 11
 slot 2      0   14    B   0x62  3 4 5 6 7 9 10 11
 slot 2      0   14    C   0x63  3 4 5 6 7 9 10 11
 slot 2      0   14    D   0x60  3 4 5 6 7 9 10 11
 slot 3      0   15    A   0x62  3 4 5 6 7 9 10 11
 slot 3      0   15    B   0x63  3 4 5 6 7 9 10 11
 slot 3      0   15    C   0x60  3 4 5 6 7 9 10 11
 slot 3      0   15    D   0x61  3 4 5 6 7 9 10 11
 slot 4      0   16    A   0x63  3 4 5 6 7 9 10 11
 slot 4      0   16    B   0x60  3 4 5 6 7 9 10 11
 slot 4      0   16    C   0x61  3 4 5 6 7 9 10 11
 slot 4      0   16    D   0x62  3 4 5 6 7 9 10 11
 slot 5      0   18    A   0x61  3 4 5 6 7 9 10 11
 slot 5      0   18    B   0x62  3 4 5 6 7 9 10 11
 slot 5      0   18    C   0x63  3 4 5 6 7 9 10 11
 slot 5      0   18    D   0x60  3 4 5 6 7 9 10 11
 embedded    0   12    A   0x60  3 4 5 6 7 9 10 11
 embedded    0   12    B   0x61  3 4 5 6 7 9 10 11
 embedded    0   12    C   0x62  3 4 5 6 7 9 10 11
 embedded    0   12    D   0x63  3 4 5 6 7 9 10 11
 embedded    0   20    D   0x63  3 4 5 6 7 9 10 11
 embedded    0    1    A   0x62  3 4 5 6 7 9 10 11
 embedded    0    1    B   0x63  3 4 5 6 7 9 10 11
 embedded    0   11    A   0x61  3 4 5 6 7 9 10 11
 acpi_bus_number: root bus has no _BBN, assuming 0
 AcpiOsDerivePciId: bus 0 dev 20 func 0
 acpi_bus_number: root bus has no _BBN, assuming 0
 AcpiOsDerivePciId: bus 0 dev 20 func 2
 acpi0: wakeup code va 0xca4b3000 pa 0x9e000
 atpic: Programming IRQ9 as level/low
 acpi: bad write to port 0x070 (8), val 0x31
 acpi: bad read from port 0x071 (8)
 acpi: bad write to port 0x070 (8), val 0x30
 acpi: bad read from port 0x071 (8)
 acpi: bad write to port 0x070 (8), val 0x31
 acpi: bad read from port 0x071 (8)
 acpi: bad write to port 0x070 (8), val 0x30
 acpi: bad read from port 0x071 (8)
 ACPI timer: 0/4 0/3 0/4 0/5 0/4 0/3 0/3 0/4 0/3 0/4 -> 0
 Timecounter "ACPI-safe" frequency 3579545 Hz quality 1000
 acpi_timer0: <24-bit timer at 3.579545MHz> port 0xf808-0xf80b on acpi0
 pci_link0: Links after initial probe:
 Index  IRQ  Rtd  Ref  IRQs
     0   11   N     0  3 4 5 6 7 10 11
 pci_link0: Links after initial validation:
 Index  IRQ  Rtd  Ref  IRQs
     0   11   N     0  3 4 5 6 7 10 11
 pci_link0: Links after disable:
 Index  IRQ  Rtd  Ref  IRQs
     0  255   N     0  3 4 5 6 7 10 11
 pci_link1: Links after initial probe:
 Index  IRQ  Rtd  Ref  IRQs
     0   10   N     0  3 4 5 6 7 10 11
 pci_link1: Links after initial validation:
 Index  IRQ  Rtd  Ref  IRQs
     0   10   N     0  3 4 5 6 7 10 11
 pci_link1: Links after disable:
 Index  IRQ  Rtd  Ref  IRQs
     0  255   N     0  3 4 5 6 7 10 11
 pci_link2: Links after initial probe:
 Index  IRQ  Rtd  Ref  IRQs
     0   11   N     0  3 4 5 6 7 10 11
 pci_link2: Links after initial validation:
 Index  IRQ  Rtd  Ref  IRQs
     0   11   N     0  3 4 5 6 7 10 11
 pci_link2: Links after disable:
 Index  IRQ  Rtd  Ref  IRQs
     0  255   N     0  3 4 5 6 7 10 11
 pci_link3: Links after initial probe:
 Index  IRQ  Rtd  Ref  IRQs
     0   11   N     0  3 4 5 6 7 10 11
 pci_link3: Links after initial validation:
 Index  IRQ  Rtd  Ref  IRQs
     0   11   N     0  3 4 5 6 7 10 11
 pci_link3: Links after disable:
 Index  IRQ  Rtd  Ref  IRQs
     0  255   N     0  3 4 5 6 7 10 11
 cpu0: <ACPI CPU> on acpi0
 acpi_throttle0: <ACPI CPU Throttling> on cpu0
 acpi_throttle0: P_CNT from P_BLK 0xf810
 pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
 ACPI: Found matching pin for 0.13.INTA at func 0: 11
 ACPI: Found matching pin for 0.14.INTA at func 0: 10
 ACPI: Found matching pin for 0.15.INTA at func 0: 11
 ACPI: Found matching pin for 0.16.INTA at func 0: 255
 ACPI: Found matching pin for 0.20.INTD at func 2: 11
 pci0: <ACPI PCI bus> on pcib0
 pci0: physical bus=0
 found->	vendor=0x8086, dev=0x7190, revid=0x03
 	bus=0, slot=0, func=0
 	class=06-00-00, hdrtype=0x00, mfdev=0
 	cmdreg=0x0106, statreg=0x3210, cachelnsz=0 (dwords)
 	lattimer=0x40 (1920 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
 	map[10]: type 3, range 32, base 44000000, size 26, enabled
 found->	vendor=0x8086, dev=0x7191, revid=0x03
 	bus=0, slot=1, func=0
 	class=06-04-00, hdrtype=0x01, mfdev=0
 	cmdreg=0x0107, statreg=0x0220, cachelnsz=0 (dwords)
 	lattimer=0x40 (1920 ns), mingnt=0x8c (35000 ns), maxlat=0x00 (0 ns)
 found->	vendor=0x8086, dev=0x1229, revid=0x08
 	bus=0, slot=13, func=0
 	class=02-00-00, hdrtype=0x00, mfdev=0
 	cmdreg=0x0007, statreg=0x0290, cachelnsz=8 (dwords)
 	lattimer=0x42 (1980 ns), mingnt=0x08 (2000 ns), maxlat=0x38 (14000 ns)
 	intpin=a, irq=11
 	powerspec 2  supports D0 D1 D2 D3  current D0
 	map[10]: type 1, range 32, base 41300000, size 12, enabled
 	map[14]: type 4, range 32, base 00002040, size  6, enabled
 	map[18]: type 1, range 32, base 41200000, size 20, enabled
 pcib0: matched entry for 0.13.INTA (src \\_SB_.LNKA:0)
 pcib0: slot 13 INTA routed to irq 11 via \\_SB_.LNKA
 found->	vendor=0x1409, dev=0x7168, revid=0x01
 	bus=0, slot=14, func=0
 	class=07-00-02, hdrtype=0x00, mfdev=0
 	cmdreg=0x0081, statreg=0x0280, cachelnsz=0 (dwords)
 	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
 	intpin=a, irq=10
 	map[10]: type 4, range 32, base 00002000, size  5, enabled
 pcib0: matched entry for 0.14.INTA (src \\_SB_.LNKB:0)
 pcib0: slot 14 INTA routed to irq 10 via \\_SB_.LNKB
 found->	vendor=0x1000, dev=0x0001, revid=0x02
 	bus=0, slot=15, func=0
 	class=01-00-00, hdrtype=0x00, mfdev=0
 	cmdreg=0x0007, statreg=0x0200, cachelnsz=0 (dwords)
 	lattimer=0x42 (1980 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
 	intpin=a, irq=11
 	map[10]: type 4, range 32, base 00002400, size  8, enabled
 	map[14]: type 1, range 32, base 41100000, size  8, enabled
 pcib0: matched entry for 0.15.INTA (src \\_SB_.LNKC:0)
 pcib0: slot 15 INTA routed to irq 11 via \\_SB_.LNKC
 found->	vendor=0x104c, dev=0xac1e, revid=0x00
 	bus=0, slot=16, func=0
 	class=06-07-00, hdrtype=0x02, mfdev=0
 	cmdreg=0x0004, statreg=0x0210, cachelnsz=8 (dwords)
 	lattimer=0x42 (1980 ns), mingnt=0x40 (16000 ns), maxlat=0x03 (750 ns)
 	intpin=a, irq=255
 	powerspec 1  supports D0 D1 D2 D3  current D0
 	map[10]: type 1, range 32, base 00000000, size 12, memory disabled
 found->	vendor=0x8086, dev=0x7110, revid=0x02
 	bus=0, slot=20, func=0
 	class=06-01-00, hdrtype=0x00, mfdev=1
 	cmdreg=0x000f, statreg=0x0280, cachelnsz=0 (dwords)
 	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
 found->	vendor=0x8086, dev=0x7111, revid=0x01
 	bus=0, slot=20, func=1
 	class=01-01-80, hdrtype=0x00, mfdev=0
 	cmdreg=0x0005, statreg=0x0280, cachelnsz=0 (dwords)
 	lattimer=0x40 (1920 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
 	map[20]: type 4, range 32, base 000020e0, size  4, enabled
 found->	vendor=0x8086, dev=0x7112, revid=0x01
 	bus=0, slot=20, func=2
 	class=0c-03-00, hdrtype=0x00, mfdev=0
 	cmdreg=0x0005, statreg=0x0280, cachelnsz=0 (dwords)
 	lattimer=0x40 (1920 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
 	intpin=d, irq=11
 	map[20]: type 4, range 32, base 000020c0, size  5, enabled
 pcib0: matched entry for 0.20.INTD (src \\_SB_.LNKD:0)
 pcib0: slot 20 INTD routed to irq 11 via \\_SB_.LNKD
 found->	vendor=0x8086, dev=0x7113, revid=0x02
 	bus=0, slot=20, func=3
 	class=06-80-00, hdrtype=0x00, mfdev=0
 	cmdreg=0x0001, statreg=0x0280, cachelnsz=0 (dwords)
 	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
 	map[90]: type 4, range 32, base 0000fc00, size  4, enabled
 agp0: <Intel 82443BX (440 BX) host to PCI bridge> mem 0x44000000-0x47ffffff at device 0.0 on pci0
 agp0: Reserved 0x4000000 bytes for rid 0x10 type 3 at 0x44000000
 agp0: allocating GATT for aperture of size 64M
 pcib1: <PCI-PCI bridge> at device 1.0 on pci0
 pcib1:   secondary bus     1
 pcib1:   subordinate bus   1
 pcib1:   I/O decode        0x1000-0x1fff
 pcib1:   memory decode     0x40000000-0x410fffff
 pcib1:   prefetched decode 0xfff00000-0xfffff
 pci1: <PCI bus> on pcib1
 pci1: physical bus=1
 found->	vendor=0x1002, dev=0x4742, revid=0x5c
 	bus=1, slot=0, func=0
 	class=03-00-00, hdrtype=0x00, mfdev=0
 	cmdreg=0x0087, statreg=0x0290, cachelnsz=8 (dwords)
 	lattimer=0x42 (1980 ns), mingnt=0x08 (2000 ns), maxlat=0x00 (0 ns)
 	intpin=a, irq=11
 	map[10]: type 1, range 32, base 40000000, size 24, enabled
 pcib1: (null) requested memory range 0x40000000-0x40ffffff: good
 	map[14]: type 4, range 32, base 00001000, size  8, enabled
 pcib1: (null) requested I/O range 0x1000-0x10ff: in range
 	map[18]: type 1, range 32, base 41000000, size 12, enabled
 pcib1: (null) requested memory range 0x41000000-0x41000fff: good
 pcib0: matched entry for 0.1.INTA (src \\_SB_.LNKC:0)
 pcib0: slot 1 INTA routed to irq 11 via \\_SB_.LNKC
 pcib1: slot 0 INTA is routed to irq 11
 pci1: <display, VGA> at device 0.0 (no driver attached)
 fxp0: <Intel 82559 Pro/100 Ethernet> port 0x2040-0x207f mem 0x41300000-0x41300fff,0x41200000-0x412fffff irq 11 at device 13.0 on pci0
 fxp0: Reserved 0x1000 bytes for rid 0x10 type 3 at 0x41300000
 fxp0: using memory space register mapping
 fxp0: PCI IDs: 8086 1229 8086 000e 0008
 fxp0: Dynamic Standby mode is disabled
 miibus0: <MII bus> on fxp0
 inphy0: <i82555 10/100 media interface> on miibus0
 inphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
 fxp0: bpf attached
 fxp0: Ethernet address: 00:90:27:88:10:e6
 fxp0: [MPSAFE]
 puc0: <Dolphin Peripherals 4036> port 0x2000-0x201f irq 10 at device 14.0 on pci0
 puc0: Reserved 0x20 bytes for rid 0x10 type 4 at 0x2000
 sio4: <Dolphin Peripherals 4036> on puc0
 sio4: type 16550A
 sio5: <Dolphin Peripherals 4036> on puc0
 sio5: type 16550A
 sym0: <810> port 0x2400-0x24ff mem 0x41100000-0x411000ff irq 11 at device 15.0 on pci0
 sym0: Reserved 0x100 bytes for rid 0x14 type 3 at 0x41100000
 sym0: No NVRAM, ID 7, Fast-10, SE, parity checking
 sym0: open drain IRQ line driver
 sym0: using NCR-generic firmware.
 sym0: [GIANT-LOCKED]
 cbb0: <TI1211 PCI-CardBus Bridge> at device 16.0 on pci0
 cbb0: Lazy allocation of 0x1000 bytes rid 0x10 type 3 at 0x80000000
 pccard0: <16-bit PCCard bus> on cbb0
 pcib0: matched entry for 0.16.INTA (src \\_SB_.LNKD:0)
 pcib0: slot 16 INTA routed to irq 11 via \\_SB_.LNKD
 cbb0: [MPSAFE]
 cbb0: PCI Configuration space:
   0x00: 0xac1e104c 0x02100007 0x06070000 0x00024208 
   0x10: 0x80000000 0x020000a0 0x20030200 0xfffff000 
   0x20: 0x00000000 0xfffff000 0x00000000 0xfffffffc 
   0x30: 0x00000000 0xfffffffc 0x00000000 0x0740010b 
   0x40: 0x00000000 0x00000001 0x00000000 0x00000000 
   0x50: 0x00000000 0x00000000 0x00000000 0x00000000 
   0x60: 0x00000000 0x00000000 0x00000000 0x00000000 
   0x70: 0x00000000 0x00000000 0x00000000 0x00000000 
   0x80: 0x0044b060 0x00000000 0x00000000 0x00000022 
   0x90: 0x616600c0 0x00000000 0x00000000 0x00000000 
   0xa0: 0x7e210001 0x00c00000 0x0000000b 0x0000001f 
   0xb0: 0x09000000 0x00000000 0x00000000 0x00000000 
   0xc0: 0x00000000 0x00000000 0x00000000 0x00000000 
   0xd0: 0x00000000 0x00000000 0x00000000 0x00000000 
   0xe0: 0x00000000 0x00000000 0x00000000 0x00000000 
   0xf0: 0x00000000 0x00000000 0x00000000 0x00000000 
 isab0: <PCI-ISA bridge> at device 20.0 on pci0
 isa0: <ISA bus> on isab0
 atapci0: <Intel PIIX4 UDMA33 controller> port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0x20e0-0x20ef at device 20.1 on pci0
 atapci0: Reserved 0x10 bytes for rid 0x20 type 4 at 0x20e0
 ata0: <ATA channel 0> on atapci0
 atapci0: Reserved 0x8 bytes for rid 0x10 type 4 at 0x1f0
 atapci0: Reserved 0x1 bytes for rid 0x14 type 4 at 0x3f6
 ata0: reset tp1 mask=03 ostat0=50 ostat1=00
 ata0: stat0=0x52 err=0x01 lsb=0x00 msb=0x00
 ata0: stat1=0x00 err=0x01 lsb=0x00 msb=0x00
 ata0: reset tp2 stat0=52 stat1=00 devices=0x1<ATA_MASTER>
 ata0: [MPSAFE]
 ata1: <ATA channel 1> on atapci0
 atapci0: Reserved 0x8 bytes for rid 0x18 type 4 at 0x170
 atapci0: Reserved 0x1 bytes for rid 0x1c type 4 at 0x376
 ata1: reset tp1 mask=03 ostat0=00 ostat1=50
 ata1: stat0=0x00 err=0x50 lsb=0x00 msb=0x00
 ata1: stat1=0x50 err=0x01 lsb=0x00 msb=0x00
 ata1: reset tp2 stat0=00 stat1=50 devices=0x2<ATA_SLAVE>
 ata1: [MPSAFE]
 uhci0: <Intel 82371AB/EB (PIIX4) USB controller> port 0x20c0-0x20df irq 11 at device 20.2 on pci0
 uhci0: Reserved 0x20 bytes for rid 0x20 type 4 at 0x20c0
 uhci0: [GIANT-LOCKED]
 usb0: <Intel 82371AB/EB (PIIX4) USB controller> on uhci0
 usb0: USB revision 1.0
 uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
 uhub0: 2 ports with 2 removable, self powered
 pci0: <bridge> at device 20.3 (no driver attached)
 acpi_button0: <Power Button> on acpi0
 psmcpnp0: <PS/2 mouse port> irq 12 on acpi0
 atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64 irq 1 on acpi0
 atkbd0: <AT Keyboard> irq 1 on atkbdc0
 atkbd: the current kbd controller command byte 0047
 atkbd: keyboard ID 0x41ab (2)
 kbd0 at atkbd0
 kbd0: atkbd0, AT 101/102 (2), config:0x0, flags:0x3d0000
 atkbd0: [GIANT-LOCKED]
 psm0: current command byte:0047
 psm0: <PS/2 Mouse> irq 12 on atkbdc0
 psm0: [GIANT-LOCKED]
 psm0: model MouseMan+, device ID 0-51, 3 buttons
 psm0: config:00000000, flags:00000008, packet size:3
 psm0: syncmask:08, syncbits:00
 ppc0: using extended I/O port range
 ppc0: ECP SPP ECP+EPP SPP
 ppc0: <ECP parallel printer port> port 0x378-0x37f,0x778-0x77d irq 7 drq 3 on acpi0
 ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
 ppc0: FIFO with 16/16/8 bytes threshold
 ppbus0: <Parallel port bus> on ppc0
 lpt0: <Printer> on ppbus0
 lpt0: Interrupt-driven port
 ppi0: <Parallel I/O> on ppbus0
 sio0: irq maps: 0x1 0x11 0x1 0x1
 sio0: <Standard PC COM port> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0
 sio0: type 16550A
 sio1: irq maps: 0x1 0x9 0x1 0x1
 sio1: <Standard PC COM port> port 0x2f8-0x2ff irq 3 on acpi0
 sio1: type 16550A
 fdc0: <floppy drive controller> port 0x3f0-0x3f5 irq 6 drq 2 on acpi0
 fdc0: ic_type 90 part_id 73
 fdc0: [MPSAFE]
 fdc0: [FAST]
 fd0: <1440-KB 3.5" drive> on fdc0 drive 0
 sbc0: <ESS ES1869> port 0x220-0x22f,0x388-0x38b,0x330-0x331 irq 5 drq 1,0 on acpi0
 sbc0: [GIANT-LOCKED]
 pcm0: <ESS 18xx DSP> on sbc0
 pcm0: ESS1869 detected, newspeed
 pcm0: [GIANT-LOCKED]
 pcm0: sndbuf_setmap ff4000, 1000; 0xd52b4000 -> ff4000
 pcm0: sndbuf_setmap ff3000, 1000; 0xd52b5000 -> ff3000
 ata: ata0 already exists; skipping it
 ata: ata1 already exists; skipping it
 atkbdc: atkbdc0 already exists; skipping it
 fdc: fdc0 already exists; skipping it
 ppc: ppc0 already exists; skipping it
 sc: sc0 already exists; skipping it
 sio: sio0 already exists; skipping it
 sio: sio1 already exists; skipping it
 vga: vga0 already exists; skipping it
 pnp_identify: Trying Read_Port at 203
 pnp_identify: Trying Read_Port at 243
 pnp_identify: Trying Read_Port at 283
 pnp_identify: Trying Read_Port at 2c3
 pnp_identify: Trying Read_Port at 303
 pnp_identify: Trying Read_Port at 343
 pnp_identify: Trying Read_Port at 383
 pnp_identify: Trying Read_Port at 3c3
 PNP Identify complete
 isa_probe_children: disabling PnP devices
 isa_probe_children: probing non-PnP devices
 pmtimer0 on isa0
 orm0: <ISA Option ROMs> at iomem 0xc0000-0xc7fff,0xc8000-0xc8fff,0xe0000-0xe7fff on isa0
 sc0: <System console> at flags 0x100 on isa0
 sc0: VGA <16 virtual consoles, flags=0x300>
 sc0: fb0, kbd1, terminal emulator: sc (syscons terminal)
 vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
 adv0: not probed (disabled)
 aha0: not probed (disabled)
 aic0: not probed (disabled)
 bt0: not probed (disabled)
 cs0: not probed (disabled)
 ed0: not probed (disabled)
 fe0: not probed (disabled)
 ie0: not probed (disabled)
 lnc0: not probed (disabled)
 sio2: not probed (disabled)
 sio3: not probed (disabled)
 sn0: not probed (disabled)
 vt0: not probed (disabled)
 isa_probe_children: probing PnP devices
 ugen0: vendor 0x05a9 product 0xa511, rev 1.00/1.00, addr 2
 uhub1: vendor 0x04b4 product 0x6560, class 9/0, rev 2.00/0.08, addr 3
 uhub1: 4 ports with 4 removable, self powered
 ucom0: vendor 0x067b product 0x2303, rev 1.10/2.02, addr 4
 Device configuration finished.
 Timecounter "TSC" frequency 646666138 Hz quality 800
 Timecounters tick every 1.000 msec
 crypto: assign driver 0, flags 6
 crypto: driver 0 registers alg 1 flags 0 maxoplen 0
 crypto: driver 0 registers alg 2 flags 0 maxoplen 0
 crypto: driver 0 registers alg 3 flags 0 maxoplen 0
 crypto: driver 0 registers alg 4 flags 0 maxoplen 0
 crypto: driver 0 registers alg 5 flags 0 maxoplen 0
 crypto: driver 0 registers alg 16 flags 0 maxoplen 0
 crypto: driver 0 registers alg 6 flags 0 maxoplen 0
 crypto: driver 0 registers alg 7 flags 0 maxoplen 0
 crypto: driver 0 registers alg 18 flags 0 maxoplen 0
 crypto: driver 0 registers alg 19 flags 0 maxoplen 0
 crypto: driver 0 registers alg 20 flags 0 maxoplen 0
 crypto: driver 0 registers alg 8 flags 0 maxoplen 0
 crypto: driver 0 registers alg 15 flags 0 maxoplen 0
 crypto: driver 0 registers alg 9 flags 0 maxoplen 0
 crypto: driver 0 registers alg 10 flags 0 maxoplen 0
 crypto: driver 0 registers alg 13 flags 0 maxoplen 0
 crypto: driver 0 registers alg 14 flags 0 maxoplen 0
 crypto: driver 0 registers alg 11 flags 0 maxoplen 0
 crypto: driver 0 registers alg 17 flags 0 maxoplen 0
 Fast IPsec: Initialized Security Association Processing.
 ipfw2 (+ipv6) initialized, divert loadable, rule-based forwarding enabled, default to deny, logging disabled
 lo0: bpf attached
 pccard0: CIS version PC Card Standard 5.0
 pccard0: CIS info: LG, 11Mbps Wireless LAN PCI Card, Version 01.02, 
 pccard0: Manufacturer code 0x156, product 0x2
 pccard0: function 0: network adapter, ccr addr 3e0 mask 1
 pccard0: function 0, config table entry 1: I/O card; irq mask ffff; iomask 6, iospace 0-3f; io16
 wi0: <LG 11Mbps Wireless LAN PCI Card> at port 0x100-0x13f irq 11 function 0 config 1 on pccard0
 wi0: [MPSAFE]
 wi0: using RF:PRISM2.5 MAC:ISL3873
 wi0: Intersil Firmware: Primary (1.1.0), Station (1.4.9)
 wi0: bpf attached
 wi0: Ethernet address: 00:04:47:50:15:3a
 wi0: bpf attached
 wi0: bpf attached
 wi0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps
 ata0-master: pio=PIO4 wdma=WDMA2 udma=UDMA133 cable=80 wire
 ad0: setting PIO4 on PIIX4 chip
 ad0: setting UDMA33 on PIIX4 chip
 ad0: 19595MB <MAXTOR 6L020L1 A93.0500> at ata0-master UDMA33
 ad0: 40132503 sectors [42468C/15H/63S] 16 sectors/interrupt 1 depth queue
 ad0: Intel check1 failed
 ad0: Adaptec check1 failed
 ad0: LSI (v3) check1 failed
 ad0: LSI (v2) check1 failed
 ad0: FreeBSD check1 failed
 ata1-slave: pio=PIO4 wdma=WDMA2 udma=UDMA100 cable=80 wire
 ad3: setting PIO4 on PIIX4 chip
 ad3: setting UDMA33 on PIIX4 chip
 ad3: 19470MB <IC35L020AVER07 0 ER2OA45A> at ata1-slave UDMA33
 ad3: 39876480 sectors [42197C/15H/63S] 16 sectors/interrupt 1 depth queue
 ad3: Intel check1 failed
 ad3: Adaptec check1 failed
 ad3: LSI (v3) check1 failed
 ad3: LSI (v2) check1 failed
 ad3: FreeBSD check1 failed
 Waiting 5 seconds for SCSI devices to settle
 (noperiph:sym0:0:-1:-1): SCSI BUS reset delivered.
 (probe3:sym0:0:3:0): Retrying Command
 (probe3:sym0:0:3:0): error 22
 (probe3:sym0:0:3:0): Unretryable Error
 pass0 at sym0 bus 0 target 3 lun 0
 pass0: <TOSHIBA CD-ROM XM-5201TA 3014> Removable CD-ROM SCSI-2 device 
 pass0: 4.237MB/s transfers (4.237MHz, offset 8)
 ATA PseudoRAID loaded
 (cd0:sym0:0:3:0): Retrying Command
 cd0 at sym0 bus 0 target 3 lun 0
 cd0: <TOSHIBA CD-ROM XM-5201TA 3014> Removable CD-ROM SCSI-2 device 
 cd0: 4.237MB/s transfers (4.237MHz, offset 8)
 cd0: cd present [296339 x 2048 byte records]
 GEOM: new disk ad0
 GEOM: new disk ad3
 GEOM: new disk cd0
 Trying to mount root from ufs:/dev/ad0s1a
 start_init: trying /sbin/init
 
 --ELM82590640;-1539-0_
 Content-Type: text/plain; charset=ISO-8859-1
 Content-Disposition: attachment; filename=HMO-UART
 Content-Description: /sys/i386/conf/HMO-UART
 Content-Transfer-Encoding: 7bit
 
 include GENERIC
 
 nodevice		ahb		# EISA AHA1742 family
 nodevice		ahc		# AHA2940 and onboard AIC7xxx devices
 nodevice		ahd		# AHA39320/29320 and onboard AIC79xx devices
 nodevice		amd		# AMD 53C974 (Tekram DC-390(T))
 nodevice		isp		# Qlogic family
 nodevice		mpt		# LSI-Logic MPT-Fusion
 nodevice		sym		# NCR/Symbios Logic (newer chipsets + those of `ncr')
 nodevice		trm		# Tekram DC395U/UW/F DC315U adapters
 nodevice		adv		# Advansys SCSI adapters
 nodevice		adw		# Advansys wide SCSI adapters
 nodevice		aha		# Adaptec 154x SCSI adapters
 nodevice		aic		# Adaptec 15[012]x SCSI adapters, AIC-6[23]60.
 nodevice		bt		# Buslogic/Mylex MultiMaster SCSI adapters
 nodevice		ncv		# NCR 53C500
 nodevice		nsp		# Workbit Ninja SCSI-3
 nodevice		stg		# TMC 18C30/18C50
 nodevice		amr		# AMI MegaRAID
 nodevice		arcmsr		# Areca SATA II RAID
 nodevice		asr		# DPT SmartRAID V, VI and Adaptec SCSI RAID
 nodevice		ciss		# Compaq Smart RAID 5*
 nodevice		dpt		# DPT Smartcache III, IV - See NOTES for options
 nodevice		hptmv		# Highpoint RocketRAID 182x
 nodevice		rr232x		# Highpoint RocketRAID 232x
 nodevice		iir		# Intel Integrated RAID
 nodevice		ips		# IBM (Adaptec) ServeRAID
 nodevice		mly		# Mylex AcceleRAID/eXtremeRAID
 nodevice		twa		# 3ware 9000 series PATA/SATA RAID
 nodevice		aac		# Adaptec FSA RAID
 nodevice		aacp		# SCSI passthrough for aac (requires CAM)
 nodevice		ida		# Compaq Smart RAID
 nodevice		mfi		# LSI MegaRAID SAS
 nodevice		mlx		# Mylex DAC960 family
 nodevice		pst		# Promise Supertrak SX6000
 nodevice		twe		# 3ware ATA RAID
 
 nodevice		cbb		# cardbus (yenta) bridge
 nodevice		pccard		# PC Card (16-bit) bus
 nodevice		cardbus		# CardBus (32-bit) bus
 
 nodevice		plip		# TCP/IP over parallel
 
 nodevice		de		# DEC/Intel DC21x4x (``Tulip'')
 nodevice		em		# Intel PRO/1000 adapter Gigabit Ethernet Card
 nodevice		ixgb		# Intel PRO/10GbE Ethernet Card
 nodevice		txp		# 3Com 3cR990 (``Typhoon'')
 nodevice		vx		# 3Com 3c590, 3c595 (``Vortex'')
 nodevice		bce		# Broadcom BCM5706/BCM5708 Gigabit Ethernet
 nodevice		bfe		# Broadcom BCM440x 10/100 Ethernet
 nodevice		bge		# Broadcom BCM570xx Gigabit Ethernet
 nodevice		dc		# DEC/Intel 21143 and various workalikes
 nodevice		fxp		# Intel EtherExpress PRO/100B (82557, 82558)
 nodevice		lge		# Level 1 LXT1001 gigabit ethernet
 nodevice		nge		# NatSemi DP83820 gigabit ethernet
 nodevice		nve		# nVidia nForce MCP on-board Ethernet Networking
 nodevice		pcn		# AMD Am79C97x PCI 10/100 (precedence over 'lnc')
 nodevice		re		# RealTek 8139C+/8169/8169S/8110S
 nodevice		rl		# RealTek 8129/8139
 nodevice		sf		# Adaptec AIC-6915 (``Starfire'')
 nodevice		sis		# Silicon Integrated Systems SiS 900/SiS 7016
 nodevice		sk		# SysKonnect SK-984x & SK-982x gigabit Ethernet
 nodevice		ste		# Sundance ST201 (D-Link DFE-550TX)
 nodevice		stge		# Sundance/Tamarack TC9021 gigabit Ethernet
 nodevice		ti		# Alteon Networks Tigon I/II gigabit Ethernet
 nodevice		tl		# Texas Instruments ThunderLAN
 nodevice		tx		# SMC EtherPower II (83c170 ``EPIC'')
 nodevice		vge		# VIA VT612x gigabit ethernet
 nodevice		vr		# VIA Rhine, Rhine II
 nodevice		wb		# Winbond W89C840F
 nodevice		xl		# 3Com 3c90x (``Boomerang'', ``Cyclone'')
 nodevice		cs		# Crystal Semiconductor CS89x0 NIC
 nodevice		ed		# NE[12]000, SMC Ultra, 3c503, DS8390 cards
 nodevice		ex		# Intel EtherExpress Pro/10 and Pro/10+
 nodevice		ep		# Etherlink III based cards
 nodevice		fe		# Fujitsu MB8696x based cards
 nodevice		ie		# EtherExpress 8/16, 3C507, StarLAN 10 etc.
 nodevice		lnc		# NE2100, NE32-VL Lance Ethernet cards
 nodevice		sn		# SMC's 9000 series of Ethernet chips
 nodevice		xe		# Xircom pccard Ethernet
 
 nodevice		wlan		# 802.11 support
 nodevice		wlan_wep	# 802.11 WEP support
 nodevice		wlan_ccmp	# 802.11 CCMP support
 nodevice		wlan_tkip	# 802.11 TKIP support
 nodevice		an		# Aironet 4500/4800 802.11 wireless NICs.
 nodevice		ath		# Atheros pci/cardbus NIC's
 nodevice		ath_hal		# Atheros HAL (Hardware Access Layer)
 nodevice		ath_rate_sample	# SampleRate tx rate control for ath
 nodevice		awi		# BayStack 660 and others
 nodevice		ral		# Ralink Technology RT2500 wireless NICs.
 nodevice		wi		# WaveLAN/Intersil/Symbol 802.11 wireless NICs.
 
 nodevice		sl		# Kernel SLIP
 nodevice		ppp		# Kernel PPP
 nodevice		tun		# Packet tunnel.
 
 nodevice		md		# Memory "disks"
 nodevice		gif		# IPv6 and IPv4 tunneling
 nodevice		faith		# IPv6-to-IPv4 relaying (translation)
 
 nodevice		uhci		# UHCI PCI->USB interface
 nodevice		ohci		# OHCI PCI->USB interface
 nodevice		ehci		# EHCI PCI->USB interface (USB 2.0)
 nodevice		usb		# USB Bus (required)
 nodevice		ugen		# Generic
 nodevice		uhid		# "Human Interface Devices"
 nodevice		ukbd		# Keyboard
 nodevice		ulpt		# Printer
 nodevice		umass		# Disks/Mass storage - Requires scbus and da
 nodevice		ums		# Mouse
 nodevice		ural		# Ralink Technology RT2500USB wireless NICs
 nodevice		urio		# Diamond Rio 500 MP3 player
 nodevice		uscanner	# Scanners
 nodevice		aue		# ADMtek USB Ethernet
 nodevice		axe		# ASIX Electronics USB Ethernet
 nodevice		cdce		# Generic USB over Ethernet
 nodevice		cue		# CATC USB Ethernet
 nodevice		kue		# Kawasaki LSI USB Ethernet
 nodevice		rue		# RealTek RTL8150 USB Ethernet
 nodevice		firewire	# FireWire bus code
 nodevice		sbp		# SCSI over FireWire (Requires scbus and da)
 nodevice		fwe		# Ethernet over FireWire (non-standard!)
 
 nooption 	NFSCLIENT		# Network Filesystem Client
 nooption 	NFSSERVER		# Network Filesystem Server
 nooption 	NFS_ROOT		# NFS usable as /, requires NFSCLIENT
 nooption 	MSDOSFS			# MSDOS Filesystem
 nooption 	CD9660			# ISO 9660 Filesystem
 nooption 	PROCFS			# Process filesystem (requires PSEUDOFS)
 nooption 	PSEUDOFS		# Pseudo-filesystem framework
 
 options 	IPFIREWALL		#firewall
 options 	IPFIREWALL_FORWARD	#packet destination changes
 
 device		puc
 
 #options 	IPSEC			#IP security
 #options 	IPSEC_ESP		#IP security (crypto; define w/ IPSEC)
 #options 	IPSEC_DEBUG		#debug for IP security
 #options 	IPSEC_FILTERGIF		#filter ipsec packets from a tunnel
 device		crypto		# core crypto support
 options 	FAST_IPSEC		#new IPsec (cannot define w/ IPSEC)
 
 nodevice		sio		# 8250, 16[45]50 based serial ports
 # uart: newbusified driver for serial interfaces.  It consolidates the sio(4),
 #	sab(4) and zs(4) drivers.
 device		uart
 
 --ELM82590640;-1539-0_
 Content-Type: text/plain; charset=ISO-8859-1
 Content-Disposition: attachment; filename=HMO-UART.dmesg
 Content-Description: /tmp/HMO-UART.dmesg
 Content-Transfer-Encoding: 7bit
 
 Copyright (c) 1992-2006 The FreeBSD Project.
 Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
 	The Regents of the University of California. All rights reserved.
 FreeBSD is a registered trademark of The FreeBSD Foundation.
 FreeBSD 6.2-615 #0: Mon Nov 20 16:43:26 CET 2006
     toor@sep.oldach.net:/usr/obj/usr/src/sys/HMO-UART
 Preloaded elf kernel "/boot/kernel/kernel" at 0xc08a7000.
 Preloaded elf module "/boot/kernel/if_fxp.ko" at 0xc08a70cc.
 Preloaded elf module "/boot/kernel/if_wi.ko" at 0xc08a7178.
 Preloaded elf module "/boot/kernel/wlan.ko" at 0xc08a7224.
 Preloaded elf module "/boot/kernel/snd_ess.ko" at 0xc08a72d0.
 Preloaded elf module "/boot/kernel/sound.ko" at 0xc08a737c.
 Preloaded elf module "/boot/kernel/snd_sbc.ko" at 0xc08a7428.
 Preloaded elf module "/boot/kernel/usb.ko" at 0xc08a74d4.
 Preloaded elf module "/boot/kernel/ugen.ko" at 0xc08a757c.
 Preloaded elf module "/boot/kernel/umass.ko" at 0xc08a7628.
 Preloaded elf module "/boot/kernel/acpi.ko" at 0xc08a76d4.
 Preloaded elf module "/boot/kernel/cbb.ko" at 0xc08a7780.
 Preloaded elf module "/boot/kernel/exca.ko" at 0xc08a7828.
 Preloaded elf module "/boot/kernel/pccard.ko" at 0xc08a78d4.
 Preloaded elf module "/boot/kernel/sym.ko" at 0xc08a7980.
 Preloaded elf module "/boot/kernel/uplcom.ko" at 0xc08a7a28.
 Preloaded elf module "/boot/kernel/ucom.ko" at 0xc08a7ad4.
 Preloaded elf module "/boot/kernel/uvisor.ko" at 0xc08a7b80.
 Preloaded elf module "/boot/kernel/wlan_wep.ko" at 0xc08a7c2c.
 Preloaded elf module "/boot/kernel/if_bridge.ko" at 0xc08a7cdc.
 Calibrating clock(s) ... i8254 clock: 1193072 Hz
 CLK_USE_I8254_CALIBRATION not specified - using default frequency
 Timecounter "i8254" frequency 1193182 Hz quality 0
 Calibrating TSC clock ... TSC clock: 646665859 Hz
 CPU: Intel Pentium III (646.67-MHz 686-class CPU)
   Origin = "GenuineIntel"  Id = 0x683  Stepping = 3
   Features=0x383f9ff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR,SSE>
 real memory  = 402653184 (384 MB)
 Physical memory chunk(s):
 0x0000000000001000 - 0x000000000009efff, 647168 bytes (158 pages)
 0x0000000000100000 - 0x00000000003fffff, 3145728 bytes (768 pages)
 0x0000000000c25000 - 0x00000000178fcfff, 382566400 bytes (93400 pages)
 avail memory = 384528384 (366 MB)
 bios32: Found BIOS32 Service Directory header at 0xc00fa000
 bios32: Entry = 0xec700 (c00ec700)  Rev = 0  Len = 1
 pcibios: PCI BIOS entry at 0xec700+0x11a0
 pnpbios: Found PnP BIOS data at 0xc00f7db0
 pnpbios: Entry = f0000:6480  Rev = 1.0
 pnpbios: OEM ID b5b0110e
 Other BIOS signatures found:
 wlan: <802.11 Link Layer>
 crypto: <crypto core>
 random: <entropy source, Software, Yarrow>
 kbd: new array size 4
 kbd1 at kbdmux0
 mem: <memory>
 Pentium Pro MTRR support enabled
 null: <null device, zero device>
 io: <I/O>
 npx0: INT 16 interface
 acpi0: <COMPAQ CPQB0B5> on motherboard
 acpi0: [MPSAFE]
 pci_open(1):	mode 1 addr port (0x0cf8) is 0x00000058
 pci_open(1a):	mode1res=0x80000000 (0x80000000)
 pci_cfgcheck:	device 0 [class=060000] [hdr=00] is there (id=71908086)
 pcibios: BIOS version 2.10
 Found $PIR table, 9 entries at 0xc00edd10
 PCI-Only Interrupts: none
 Location  Bus Device Pin  Link  IRQs
 slot 1      0   13    A   0x60  3 4 5 6 7 9 10 11
 slot 1      0   13    B   0x61  3 4 5 6 7 9 10 11
 slot 1      0   13    C   0x62  3 4 5 6 7 9 10 11
 slot 1      0   13    D   0x63  3 4 5 6 7 9 10 11
 slot 2      0   14    A   0x61  3 4 5 6 7 9 10 11
 slot 2      0   14    B   0x62  3 4 5 6 7 9 10 11
 slot 2      0   14    C   0x63  3 4 5 6 7 9 10 11
 slot 2      0   14    D   0x60  3 4 5 6 7 9 10 11
 slot 3      0   15    A   0x62  3 4 5 6 7 9 10 11
 slot 3      0   15    B   0x63  3 4 5 6 7 9 10 11
 slot 3      0   15    C   0x60  3 4 5 6 7 9 10 11
 slot 3      0   15    D   0x61  3 4 5 6 7 9 10 11
 slot 4      0   16    A   0x63  3 4 5 6 7 9 10 11
 slot 4      0   16    B   0x60  3 4 5 6 7 9 10 11
 slot 4      0   16    C   0x61  3 4 5 6 7 9 10 11
 slot 4      0   16    D   0x62  3 4 5 6 7 9 10 11
 slot 5      0   18    A   0x61  3 4 5 6 7 9 10 11
 slot 5      0   18    B   0x62  3 4 5 6 7 9 10 11
 slot 5      0   18    C   0x63  3 4 5 6 7 9 10 11
 slot 5      0   18    D   0x60  3 4 5 6 7 9 10 11
 embedded    0   12    A   0x60  3 4 5 6 7 9 10 11
 embedded    0   12    B   0x61  3 4 5 6 7 9 10 11
 embedded    0   12    C   0x62  3 4 5 6 7 9 10 11
 embedded    0   12    D   0x63  3 4 5 6 7 9 10 11
 embedded    0   20    D   0x63  3 4 5 6 7 9 10 11
 embedded    0    1    A   0x62  3 4 5 6 7 9 10 11
 embedded    0    1    B   0x63  3 4 5 6 7 9 10 11
 embedded    0   11    A   0x61  3 4 5 6 7 9 10 11
 acpi_bus_number: root bus has no _BBN, assuming 0
 AcpiOsDerivePciId: bus 0 dev 20 func 0
 acpi_bus_number: root bus has no _BBN, assuming 0
 AcpiOsDerivePciId: bus 0 dev 20 func 2
 acpi0: wakeup code va 0xca4b3000 pa 0x9e000
 atpic: Programming IRQ9 as level/low
 acpi: bad write to port 0x070 (8), val 0x31
 acpi: bad read from port 0x071 (8)
 acpi: bad write to port 0x070 (8), val 0x30
 acpi: bad read from port 0x071 (8)
 acpi: bad write to port 0x070 (8), val 0x31
 acpi: bad read from port 0x071 (8)
 acpi: bad write to port 0x070 (8), val 0x30
 acpi: bad read from port 0x071 (8)
 ACPI timer: 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 0/3 -> 0
 Timecounter "ACPI-safe" frequency 3579545 Hz quality 1000
 acpi_timer0: <24-bit timer at 3.579545MHz> port 0xf808-0xf80b on acpi0
 pci_link0: Links after initial probe:
 Index  IRQ  Rtd  Ref  IRQs
     0   11   N     0  3 4 5 6 7 10 11
 pci_link0: Links after initial validation:
 Index  IRQ  Rtd  Ref  IRQs
     0   11   N     0  3 4 5 6 7 10 11
 pci_link0: Links after disable:
 Index  IRQ  Rtd  Ref  IRQs
     0  255   N     0  3 4 5 6 7 10 11
 pci_link1: Links after initial probe:
 Index  IRQ  Rtd  Ref  IRQs
     0   10   N     0  3 4 5 6 7 10 11
 pci_link1: Links after initial validation:
 Index  IRQ  Rtd  Ref  IRQs
     0   10   N     0  3 4 5 6 7 10 11
 pci_link1: Links after disable:
 Index  IRQ  Rtd  Ref  IRQs
     0  255   N     0  3 4 5 6 7 10 11
 pci_link2: Links after initial probe:
 Index  IRQ  Rtd  Ref  IRQs
     0   11   N     0  3 4 5 6 7 10 11
 pci_link2: Links after initial validation:
 Index  IRQ  Rtd  Ref  IRQs
     0   11   N     0  3 4 5 6 7 10 11
 pci_link2: Links after disable:
 Index  IRQ  Rtd  Ref  IRQs
     0  255   N     0  3 4 5 6 7 10 11
 pci_link3: Links after initial probe:
 Index  IRQ  Rtd  Ref  IRQs
     0   11   N     0  3 4 5 6 7 10 11
 pci_link3: Links after initial validation:
 Index  IRQ  Rtd  Ref  IRQs
     0   11   N     0  3 4 5 6 7 10 11
 pci_link3: Links after disable:
 Index  IRQ  Rtd  Ref  IRQs
     0  255   N     0  3 4 5 6 7 10 11
 cpu0: <ACPI CPU> on acpi0
 acpi_throttle0: <ACPI CPU Throttling> on cpu0
 acpi_throttle0: P_CNT from P_BLK 0xf810
 pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
 ACPI: Found matching pin for 0.13.INTA at func 0: 11
 ACPI: Found matching pin for 0.14.INTA at func 0: 10
 ACPI: Found matching pin for 0.15.INTA at func 0: 11
 ACPI: Found matching pin for 0.16.INTA at func 0: 255
 ACPI: Found matching pin for 0.20.INTD at func 2: 11
 pci0: <ACPI PCI bus> on pcib0
 pci0: physical bus=0
 found->	vendor=0x8086, dev=0x7190, revid=0x03
 	bus=0, slot=0, func=0
 	class=06-00-00, hdrtype=0x00, mfdev=0
 	cmdreg=0x0106, statreg=0x3210, cachelnsz=0 (dwords)
 	lattimer=0x40 (1920 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
 	map[10]: type 3, range 32, base 44000000, size 26, enabled
 found->	vendor=0x8086, dev=0x7191, revid=0x03
 	bus=0, slot=1, func=0
 	class=06-04-00, hdrtype=0x01, mfdev=0
 	cmdreg=0x0107, statreg=0x0220, cachelnsz=0 (dwords)
 	lattimer=0x40 (1920 ns), mingnt=0x8c (35000 ns), maxlat=0x00 (0 ns)
 found->	vendor=0x8086, dev=0x1229, revid=0x08
 	bus=0, slot=13, func=0
 	class=02-00-00, hdrtype=0x00, mfdev=0
 	cmdreg=0x0007, statreg=0x0290, cachelnsz=8 (dwords)
 	lattimer=0x42 (1980 ns), mingnt=0x08 (2000 ns), maxlat=0x38 (14000 ns)
 	intpin=a, irq=11
 	powerspec 2  supports D0 D1 D2 D3  current D0
 	map[10]: type 1, range 32, base 41300000, size 12, enabled
 	map[14]: type 4, range 32, base 00002040, size  6, enabled
 	map[18]: type 1, range 32, base 41200000, size 20, enabled
 pcib0: matched entry for 0.13.INTA (src \\_SB_.LNKA:0)
 pcib0: slot 13 INTA routed to irq 11 via \\_SB_.LNKA
 found->	vendor=0x1409, dev=0x7168, revid=0x01
 	bus=0, slot=14, func=0
 	class=07-00-02, hdrtype=0x00, mfdev=0
 	cmdreg=0x0081, statreg=0x0280, cachelnsz=0 (dwords)
 	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
 	intpin=a, irq=10
 	map[10]: type 4, range 32, base 00002000, size  5, enabled
 pcib0: matched entry for 0.14.INTA (src \\_SB_.LNKB:0)
 pcib0: slot 14 INTA routed to irq 10 via \\_SB_.LNKB
 found->	vendor=0x1000, dev=0x0001, revid=0x02
 	bus=0, slot=15, func=0
 	class=01-00-00, hdrtype=0x00, mfdev=0
 	cmdreg=0x0007, statreg=0x0200, cachelnsz=0 (dwords)
 	lattimer=0x42 (1980 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
 	intpin=a, irq=11
 	map[10]: type 4, range 32, base 00002400, size  8, enabled
 	map[14]: type 1, range 32, base 41100000, size  8, enabled
 pcib0: matched entry for 0.15.INTA (src \\_SB_.LNKC:0)
 pcib0: slot 15 INTA routed to irq 11 via \\_SB_.LNKC
 found->	vendor=0x104c, dev=0xac1e, revid=0x00
 	bus=0, slot=16, func=0
 	class=06-07-00, hdrtype=0x02, mfdev=0
 	cmdreg=0x0004, statreg=0x0210, cachelnsz=8 (dwords)
 	lattimer=0x42 (1980 ns), mingnt=0x40 (16000 ns), maxlat=0x03 (750 ns)
 	intpin=a, irq=255
 	powerspec 1  supports D0 D1 D2 D3  current D0
 	map[10]: type 1, range 32, base 00000000, size 12, memory disabled
 found->	vendor=0x8086, dev=0x7110, revid=0x02
 	bus=0, slot=20, func=0
 	class=06-01-00, hdrtype=0x00, mfdev=1
 	cmdreg=0x000f, statreg=0x0280, cachelnsz=0 (dwords)
 	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
 found->	vendor=0x8086, dev=0x7111, revid=0x01
 	bus=0, slot=20, func=1
 	class=01-01-80, hdrtype=0x00, mfdev=0
 	cmdreg=0x0005, statreg=0x0280, cachelnsz=0 (dwords)
 	lattimer=0x40 (1920 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
 	map[20]: type 4, range 32, base 000020e0, size  4, enabled
 found->	vendor=0x8086, dev=0x7112, revid=0x01
 	bus=0, slot=20, func=2
 	class=0c-03-00, hdrtype=0x00, mfdev=0
 	cmdreg=0x0005, statreg=0x0280, cachelnsz=0 (dwords)
 	lattimer=0x40 (1920 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
 	intpin=d, irq=11
 	map[20]: type 4, range 32, base 000020c0, size  5, enabled
 pcib0: matched entry for 0.20.INTD (src \\_SB_.LNKD:0)
 pcib0: slot 20 INTD routed to irq 11 via \\_SB_.LNKD
 found->	vendor=0x8086, dev=0x7113, revid=0x02
 	bus=0, slot=20, func=3
 	class=06-80-00, hdrtype=0x00, mfdev=0
 	cmdreg=0x0001, statreg=0x0280, cachelnsz=0 (dwords)
 	lattimer=0x00 (0 ns), mingnt=0x00 (0 ns), maxlat=0x00 (0 ns)
 	map[90]: type 4, range 32, base 0000fc00, size  4, enabled
 agp0: <Intel 82443BX (440 BX) host to PCI bridge> mem 0x44000000-0x47ffffff at device 0.0 on pci0
 agp0: Reserved 0x4000000 bytes for rid 0x10 type 3 at 0x44000000
 agp0: allocating GATT for aperture of size 64M
 pcib1: <PCI-PCI bridge> at device 1.0 on pci0
 pcib1:   secondary bus     1
 pcib1:   subordinate bus   1
 pcib1:   I/O decode        0x1000-0x1fff
 pcib1:   memory decode     0x40000000-0x410fffff
 pcib1:   prefetched decode 0xfff00000-0xfffff
 pci1: <PCI bus> on pcib1
 pci1: physical bus=1
 found->	vendor=0x1002, dev=0x4742, revid=0x5c
 	bus=1, slot=0, func=0
 	class=03-00-00, hdrtype=0x00, mfdev=0
 	cmdreg=0x0087, statreg=0x0290, cachelnsz=8 (dwords)
 	lattimer=0x42 (1980 ns), mingnt=0x08 (2000 ns), maxlat=0x00 (0 ns)
 	intpin=a, irq=11
 	map[10]: type 1, range 32, base 40000000, size 24, enabled
 pcib1: (null) requested memory range 0x40000000-0x40ffffff: good
 	map[14]: type 4, range 32, base 00001000, size  8, enabled
 pcib1: (null) requested I/O range 0x1000-0x10ff: in range
 	map[18]: type 1, range 32, base 41000000, size 12, enabled
 pcib1: (null) requested memory range 0x41000000-0x41000fff: good
 pcib0: matched entry for 0.1.INTA (src \\_SB_.LNKC:0)
 pcib0: slot 1 INTA routed to irq 11 via \\_SB_.LNKC
 pcib1: slot 0 INTA is routed to irq 11
 pci1: <display, VGA> at device 0.0 (no driver attached)
 fxp0: <Intel 82559 Pro/100 Ethernet> port 0x2040-0x207f mem 0x41300000-0x41300fff,0x41200000-0x412fffff irq 11 at device 13.0 on pci0
 fxp0: Reserved 0x1000 bytes for rid 0x10 type 3 at 0x41300000
 fxp0: using memory space register mapping
 fxp0: PCI IDs: 8086 1229 8086 000e 0008
 fxp0: Dynamic Standby mode is disabled
 miibus0: <MII bus> on fxp0
 inphy0: <i82555 10/100 media interface> on miibus0
 inphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
 fxp0: bpf attached
 fxp0: Ethernet address: 00:90:27:88:10:e6
 fxp0: [MPSAFE]
 puc0: <Dolphin Peripherals 4036> port 0x2000-0x201f irq 10 at device 14.0 on pci0
 puc0: Reserved 0x20 bytes for rid 0x10 type 4 at 0x2000
 uart2: <16550 or compatible> on puc0
 uart3: <16550 or compatible> on puc0
 sym0: <810> port 0x2400-0x24ff mem 0x41100000-0x411000ff irq 11 at device 15.0 on pci0
 sym0: Reserved 0x100 bytes for rid 0x14 type 3 at 0x41100000
 sym0: No NVRAM, ID 7, Fast-10, SE, parity checking
 sym0: open drain IRQ line driver
 sym0: using NCR-generic firmware.
 sym0: [GIANT-LOCKED]
 cbb0: <TI1211 PCI-CardBus Bridge> at device 16.0 on pci0
 cbb0: Lazy allocation of 0x1000 bytes rid 0x10 type 3 at 0x80000000
 pccard0: <16-bit PCCard bus> on cbb0
 pcib0: matched entry for 0.16.INTA (src \\_SB_.LNKD:0)
 pcib0: slot 16 INTA routed to irq 11 via \\_SB_.LNKD
 cbb0: [MPSAFE]
 cbb0: PCI Configuration space:
   0x00: 0xac1e104c 0x02100007 0x06070000 0x00024208 
   0x10: 0x80000000 0x020000a0 0x20030200 0xfffff000 
   0x20: 0x00000000 0xfffff000 0x00000000 0xfffffffc 
   0x30: 0x00000000 0xfffffffc 0x00000000 0x0740010b 
   0x40: 0x00000000 0x00000001 0x00000000 0x00000000 
   0x50: 0x00000000 0x00000000 0x00000000 0x00000000 
   0x60: 0x00000000 0x00000000 0x00000000 0x00000000 
   0x70: 0x00000000 0x00000000 0x00000000 0x00000000 
   0x80: 0x0044b060 0x00000000 0x00000000 0x00000022 
   0x90: 0x616600c0 0x00000000 0x00000000 0x00000000 
   0xa0: 0x7e210001 0x00c00000 0x0000000b 0x0000001f 
   0xb0: 0x09000000 0x00000000 0x00000000 0x00000000 
   0xc0: 0x00000000 0x00000000 0x00000000 0x00000000 
   0xd0: 0x00000000 0x00000000 0x00000000 0x00000000 
   0xe0: 0x00000000 0x00000000 0x00000000 0x00000000 
   0xf0: 0x00000000 0x00000000 0x00000000 0x00000000 
 isab0: <PCI-ISA bridge> at device 20.0 on pci0
 isa0: <ISA bus> on isab0
 atapci0: <Intel PIIX4 UDMA33 controller> port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0x20e0-0x20ef at device 20.1 on pci0
 atapci0: Reserved 0x10 bytes for rid 0x20 type 4 at 0x20e0
 ata0: <ATA channel 0> on atapci0
 atapci0: Reserved 0x8 bytes for rid 0x10 type 4 at 0x1f0
 atapci0: Reserved 0x1 bytes for rid 0x14 type 4 at 0x3f6
 ata0: reset tp1 mask=03 ostat0=50 ostat1=00
 ata0: stat0=0x50 err=0x01 lsb=0x00 msb=0x00
 ata0: stat1=0x00 err=0x01 lsb=0x00 msb=0x00
 ata0: reset tp2 stat0=50 stat1=00 devices=0x1<ATA_MASTER>
 ata0: [MPSAFE]
 ata1: <ATA channel 1> on atapci0
 atapci0: Reserved 0x8 bytes for rid 0x18 type 4 at 0x170
 atapci0: Reserved 0x1 bytes for rid 0x1c type 4 at 0x376
 ata1: reset tp1 mask=03 ostat0=00 ostat1=50
 ata1: stat0=0x00 err=0x10 lsb=0x00 msb=0x00
 ata1: stat1=0x50 err=0x01 lsb=0x00 msb=0x00
 ata1: reset tp2 stat0=00 stat1=50 devices=0x2<ATA_SLAVE>
 ata1: [MPSAFE]
 uhci0: <Intel 82371AB/EB (PIIX4) USB controller> port 0x20c0-0x20df irq 11 at device 20.2 on pci0
 uhci0: Reserved 0x20 bytes for rid 0x20 type 4 at 0x20c0
 uhci0: [GIANT-LOCKED]
 usb0: <Intel 82371AB/EB (PIIX4) USB controller> on uhci0
 usb0: USB revision 1.0
 uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
 uhub0: 2 ports with 2 removable, self powered
 pci0: <bridge> at device 20.3 (no driver attached)
 acpi_button0: <Power Button> on acpi0
 psmcpnp0: <PS/2 mouse port> irq 12 on acpi0
 atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64 irq 1 on acpi0
 atkbd0: <AT Keyboard> irq 1 on atkbdc0
 atkbd: the current kbd controller command byte 0047
 atkbd: keyboard ID 0x41ab (2)
 kbd0 at atkbd0
 kbd0: atkbd0, AT 101/102 (2), config:0x0, flags:0x3d0000
 atkbd0: [GIANT-LOCKED]
 psm0: current command byte:0047
 psm0: <PS/2 Mouse> irq 12 on atkbdc0
 psm0: [GIANT-LOCKED]
 psm0: model MouseMan+, device ID 0-51, 3 buttons
 psm0: config:00000000, flags:00000008, packet size:3
 psm0: syncmask:08, syncbits:00
 ppc0: using extended I/O port range
 ppc0: ECP SPP ECP+EPP SPP
 ppc0: <ECP parallel printer port> port 0x378-0x37f,0x778-0x77d irq 7 drq 3 on acpi0
 ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
 ppc0: FIFO with 16/16/8 bytes threshold
 ppbus0: <Parallel port bus> on ppc0
 lpt0: <Printer> on ppbus0
 lpt0: Interrupt-driven port
 ppi0: <Parallel I/O> on ppbus0
 fdc0: <floppy drive controller> port 0x3f0-0x3f5 irq 6 drq 2 on acpi0
 fdc0: ic_type 90 part_id 73
 fdc0: [MPSAFE]
 fdc0: [FAST]
 fd0: <1440-KB 3.5" drive> on fdc0 drive 0
 sbc0: <ESS ES1869> port 0x220-0x22f,0x388-0x38b,0x330-0x331 irq 5 drq 1,0 on acpi0
 sbc0: [GIANT-LOCKED]
 pcm0: <ESS 18xx DSP> on sbc0
 pcm0: ESS1869 detected, newspeed
 pcm0: [GIANT-LOCKED]
 pcm0: sndbuf_setmap ff3000, 1000; 0xd52b5000 -> ff3000
 pcm0: sndbuf_setmap ff2000, 1000; 0xd52b6000 -> ff2000
 ata: ata0 already exists; skipping it
 ata: ata1 already exists; skipping it
 atkbdc: atkbdc0 already exists; skipping it
 fdc: fdc0 already exists; skipping it
 ppc: ppc0 already exists; skipping it
 sc: sc0 already exists; skipping it
 vga: vga0 already exists; skipping it
 pnp_identify: Trying Read_Port at 203
 pnp_identify: Trying Read_Port at 243
 pnp_identify: Trying Read_Port at 283
 pnp_identify: Trying Read_Port at 2c3
 pnp_identify: Trying Read_Port at 303
 pnp_identify: Trying Read_Port at 343
 pnp_identify: Trying Read_Port at 383
 pnp_identify: Trying Read_Port at 3c3
 PNP Identify complete
 isa_probe_children: disabling PnP devices
 isa_probe_children: probing non-PnP devices
 pmtimer0 on isa0
 orm0: <ISA Option ROMs> at iomem 0xc0000-0xc7fff,0xc8000-0xc8fff,0xe0000-0xe7fff on isa0
 sc0: <System console> at flags 0x100 on isa0
 sc0: VGA <16 virtual consoles, flags=0x300>
 sc0: fb0, kbd1, terminal emulator: sc (syscons terminal)
 vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
 adv0: not probed (disabled)
 aha0: not probed (disabled)
 aic0: not probed (disabled)
 bt0: not probed (disabled)
 cs0: not probed (disabled)
 ed0: not probed (disabled)
 fe0: not probed (disabled)
 ie0: not probed (disabled)
 lnc0: not probed (disabled)
 sio2: not probed (disabled)
 sio3: not probed (disabled)
 sn0: not probed (disabled)
 uart0: <16550 or compatible> at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
 uart0: fast interrupt
 uart1: <16550 or compatible> at port 0x2f8-0x2ff irq 3 on isa0
 uart1: fast interrupt
 vt0: not probed (disabled)
 isa_probe_children: probing PnP devices
 ugen0: vendor 0x05a9 product 0xa511, rev 1.00/1.00, addr 2
 uhub1: vendor 0x04b4 product 0x6560, class 9/0, rev 2.00/0.08, addr 3
 uhub1: 4 ports with 4 removable, self powered
 ucom0: vendor 0x067b product 0x2303, rev 1.10/2.02, addr 4
 Device configuration finished.
 Timecounter "TSC" frequency 646665859 Hz quality 800
 Timecounters tick every 1.000 msec
 crypto: assign driver 0, flags 6
 crypto: driver 0 registers alg 1 flags 0 maxoplen 0
 crypto: driver 0 registers alg 2 flags 0 maxoplen 0
 crypto: driver 0 registers alg 3 flags 0 maxoplen 0
 crypto: driver 0 registers alg 4 flags 0 maxoplen 0
 crypto: driver 0 registers alg 5 flags 0 maxoplen 0
 crypto: driver 0 registers alg 16 flags 0 maxoplen 0
 crypto: driver 0 registers alg 6 flags 0 maxoplen 0
 crypto: driver 0 registers alg 7 flags 0 maxoplen 0
 crypto: driver 0 registers alg 18 flags 0 maxoplen 0
 crypto: driver 0 registers alg 19 flags 0 maxoplen 0
 crypto: driver 0 registers alg 20 flags 0 maxoplen 0
 crypto: driver 0 registers alg 8 flags 0 maxoplen 0
 crypto: driver 0 registers alg 15 flags 0 maxoplen 0
 crypto: driver 0 registers alg 9 flags 0 maxoplen 0
 crypto: driver 0 registers alg 10 flags 0 maxoplen 0
 crypto: driver 0 registers alg 13 flags 0 maxoplen 0
 crypto: driver 0 registers alg 14 flags 0 maxoplen 0
 crypto: driver 0 registers alg 11 flags 0 maxoplen 0
 crypto: driver 0 registers alg 17 flags 0 maxoplen 0
 Fast IPsec: Initialized Security Association Processing.
 ipfw2 (+ipv6) initialized, divert loadable, rule-based forwarding enabled, default to deny, logging disabled
 lo0: bpf attached
 pccard0: CIS version PC Card Standard 5.0
 pccard0: CIS info: LG, 11Mbps Wireless LAN PCI Card, Version 01.02, 
 pccard0: Manufacturer code 0x156, product 0x2
 pccard0: function 0: network adapter, ccr addr 3e0 mask 1
 pccard0: function 0, config table entry 1: I/O card; irq mask ffff; iomask 6, iospace 0-3f; io16
 wi0: <LG 11Mbps Wireless LAN PCI Card> at port 0x100-0x13f irq 11 function 0 config 1 on pccard0
 wi0: [MPSAFE]
 wi0: using RF:PRISM2.5 MAC:ISL3873
 wi0: Intersil Firmware: Primary (1.1.0), Station (1.4.9)
 wi0: bpf attached
 wi0: Ethernet address: 00:04:47:50:15:3a
 wi0: bpf attached
 wi0: bpf attached
 wi0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps
 ata0-master: pio=PIO4 wdma=WDMA2 udma=UDMA133 cable=80 wire
 ad0: setting PIO4 on PIIX4 chip
 ad0: setting UDMA33 on PIIX4 chip
 ad0: 19595MB <MAXTOR 6L020L1 A93.0500> at ata0-master UDMA33
 ad0: 40132503 sectors [42468C/15H/63S] 16 sectors/interrupt 1 depth queue
 ad0: Intel check1 failed
 ad0: Adaptec check1 failed
 ad0: LSI (v3) check1 failed
 ad0: LSI (v2) check1 failed
 ad0: FreeBSD check1 failed
 ata1-slave: pio=PIO4 wdma=WDMA2 udma=UDMA100 cable=80 wire
 ad3: setting PIO4 on PIIX4 chip
 ad3: setting UDMA33 on PIIX4 chip
 ad3: 19470MB <IC35L020AVER07 0 ER2OA45A> at ata1-slave UDMA33
 ad3: 39876480 sectors [42197C/15H/63S] 16 sectors/interrupt 1 depth queue
 ad3: Intel check1 failed
 ad3: Adaptec check1 failed
 ad3: LSI (v3) check1 failed
 ad3: LSI (v2) check1 failed
 ad3: FreeBSD check1 failed
 Waiting 5 seconds for SCSI devices to settle
 (noperiph:sym0:0:-1:-1): SCSI BUS reset delivered.
 (probe3:sym0:0:3:0): Retrying Command
 (probe3:sym0:0:3:0): error 22
 (probe3:sym0:0:3:0): Unretryable Error
 pass0 at sym0 bus 0 target 3 lun 0
 pass0: <TOSHIBA CD-ROM XM-5201TA 3014> Removable CD-ROM SCSI-2 device 
 pass0: 4.237MB/s transfers (4.237MHz, offset 8)
 ATA PseudoRAID loaded
 (cd0:sym0:0:3:0): Retrying Command
 cd0 at sym0 bus 0 target 3 lun 0
 cd0: <TOSHIBA CD-ROM XM-5201TA 3014> Removable CD-ROM SCSI-2 device 
 cd0: 4.237MB/s transfers (4.237MHz, offset 8)
 cd0: cd present [296339 x 2048 byte records]
 GEOM: new disk ad0
 GEOM: new disk ad3
 GEOM: new disk cd0
 Trying to mount root from ufs:/dev/ad0s1a
 start_init: trying /sbin/init
 
 --ELM82590640;-1539-0_--

From: Marcel Moolenaar <xcllnt@mac.com>
To: Helge Oldach <puc-uart@oldach.net>
Cc: FreeBSD-gnats-submit@FreeBSD.org
Subject: Re: i386/105616: UART PCI device just silent...
Date: Sun, 26 Nov 2006 20:55:18 -0800

 On Nov 26, 2006, at 3:00 PM, Helge Oldach wrote:
 
 >> One thing that strikes me as odd is that sio(4) attaches to acpi(4),
 >> while uart(4) attaches to isa(4).
 >
 > Yes. That is indeed the reason why I send you this. But maybe it's  
 > just
 > harmless.
 
 The reason is that acpi is loaded as a module, when uart is not. The  
 acpi
 bus attachment is not being included in the uart driver because you  
 don't
 build the acpi driver. It's not necessarily a problem if you have the  
 right
 hints, but it's better to add device acpi to your kernel config file or
 otherwise use the uart module. The reason sio attaches to acpi is  
 that sio
 is broken in that respect. While it comes in handy sometimes, it's  
 still a
 bug.
 
 Why do you have PUC_FASTINTR for sio, but not for uart?
 
 -- 
 Marcel Moolenaar
 xcllnt@mac.com
 
 

From: puc-uart@oldach.net (Helge Oldach)
To: xcllnt@mac.com (Marcel Moolenaar)
Cc: FreeBSD-gnats-submit@FreeBSD.org
Subject: Re: i386/105616: UART PCI device just silent...
Date: Mon, 27 Nov 2006 08:11:54 +0100 (CET)

 --ELM825927310-1201-0_
 Content-Type: text/plain; charset=US-ASCII
 Content-Transfer-Encoding: 7bit
 
 Hi Marcel,
 
 >On Nov 26, 2006, at 3:00 PM, Helge Oldach wrote:
 >
 >>> One thing that strikes me as odd is that sio(4) attaches to acpi(4),
 >>> while uart(4) attaches to isa(4).
 >>
 >> Yes. That is indeed the reason why I send you this. But maybe it's
 >> just harmless.
 >The reason is that acpi is loaded as a module, when uart is not. The
 >acpi bus attachment is not being included in the uart driver because
 >you don't build the acpi driver.
 
 OK. I think I got it.
 
 I made two experiments to verify:
 
 a) acpi compiled into kernel (not loaded as a module), puc and uart in
 kernel (as before)
 
 b) acpi as a module (as before), puc and uart as a module (loaded via
 /boot/loader.conf)
 
 Indeed in both cases I now see
 
 dev.uart.0.%desc: 16550 or compatible
 dev.uart.0.%driver: uart
 dev.uart.0.%location: handle=\_SB_.PCI0.IBRG.COM1
 dev.uart.0.%pnpinfo: _HID=PNP0501 _UID=1
 dev.uart.0.%parent: acpi0
 dev.uart.0.wake: 0
 dev.uart.1.%desc: 16550 or compatible
 dev.uart.1.%driver: uart
 dev.uart.1.%location: handle=\_SB_.PCI0.IBRG.COM2
 dev.uart.1.%pnpinfo: _HID=PNP0501 _UID=2
 dev.uart.1.%parent: acpi0
 dev.uart.1.wake: 0
 
 You are right, there is a cosmetic issue if acpi is loaded as a module,
 but uart is not. I'd say it is cosmetic, as the on-board UARTs (0 and
 1) have been working fine in either configuration, whether attached to
 acpi0 or to isa0.
 
 I have problems with the dual UART PCI board. These are still
 
 dev.uart.2.%desc: 16550 or compatible
 dev.uart.2.%driver: uart
 dev.uart.2.%parent: puc0
 dev.uart.3.%desc: 16550 or compatible
 dev.uart.3.%driver: uart
 dev.uart.3.%parent: puc0
 
 in either case.
 
 >It's not necessarily a problem if you have the right hints,
 
 The delta between my device.hints is this:
 
 --- device.hints~       Thu Jul 14 20:42:19 2005
 +++ device.hints        Mon Nov 27 07:30:37 2006
 @@ -34,13 +34,13 @@
  hint.vt.0.disabled="1"
  hint.apm.0.disabled="1"
  hint.apm.0.flags="0x20"
 -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"
 +hint.uart.0.at="isa"
 +hint.uart.0.port="0x3F8"
 +hint.uart.0.flags="0x10"
 +hint.uart.0.irq="4"
 +hint.uart.1.at="isa"
 +hint.uart.1.port="0x2F8"
 +hint.uart.1.irq="3"
  hint.sio.2.at="isa"
  hint.sio.2.disabled="1"
  hint.sio.2.port="0x3E8"
 
 There are no specific hints for the puc-based UARTs. I understand that
 PCI devices don't need such hints. Actually, both the "sio kernel" and
 the "uart kernel" locate the device identically on the same IRQ and IO
 ports.
 
 Am I mistaken here?
 
 >Why do you have PUC_FASTINTR for sio, but not for uart?
 
 I had just been trying to play with the knobs that I have in the config
 file. PUC_FASTINTR reduces overruns somewhat for the "sio kernel" but it
 doesn't change behaviour at all. Specifically, no impact on this issue.
 
 Regards,
 Helge
 
 --ELM825927310-1201-0_
 Content-Type: text/plain; charset=ISO-8859-1
 Content-Disposition: attachment; filename=HMO-UART.acpi-in-kernel.dmesg
 Content-Description: /tmp/HMO-UART.acpi-in-kernel.dmesg
 Content-Transfer-Encoding: 7bit
 
 Copyright (c) 1992-2006 The FreeBSD Project.
 Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
 	The Regents of the University of California. All rights reserved.
 FreeBSD is a registered trademark of The FreeBSD Foundation.
 FreeBSD 6.2-615 #1: Mon Nov 27 07:27:18 CET 2006
     toor@sep.oldach.net:/usr/obj/usr/src/sys/HMO-UART
 Timecounter "i8254" frequency 1193182 Hz quality 0
 CPU: Intel Pentium III (646.67-MHz 686-class CPU)
   Origin = "GenuineIntel"  Id = 0x683  Stepping = 3
   Features=0x383f9ff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR,SSE>
 real memory  = 402653184 (384 MB)
 avail memory = 384528384 (366 MB)
 kbd1 at kbdmux0
 acpi0: <COMPAQ CPQB0B5> on motherboard
 Timecounter "ACPI-safe" frequency 3579545 Hz quality 1000
 acpi_timer0: <24-bit timer at 3.579545MHz> port 0xf808-0xf80b on acpi0
 cpu0: <ACPI CPU> on acpi0
 acpi_throttle0: <ACPI CPU Throttling> on cpu0
 pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
 pci0: <ACPI PCI bus> on pcib0
 agp0: <Intel 82443BX (440 BX) host to PCI bridge> mem 0x44000000-0x47ffffff at device 0.0 on pci0
 pcib1: <PCI-PCI bridge> at device 1.0 on pci0
 pci1: <PCI bus> on pcib1
 pci1: <display, VGA> at device 0.0 (no driver attached)
 fxp0: <Intel 82559 Pro/100 Ethernet> port 0x2040-0x207f mem 0x41300000-0x41300fff,0x41200000-0x412fffff irq 11 at device 13.0 on pci0
 miibus0: <MII bus> on fxp0
 inphy0: <i82555 10/100 media interface> on miibus0
 inphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
 fxp0: Ethernet address: 00:90:27:88:10:e6
 puc0: <Dolphin Peripherals 4036> port 0x2000-0x201f irq 10 at device 14.0 on pci0
 uart2: <16550 or compatible> on puc0
 uart3: <16550 or compatible> on puc0
 sym0: <810> port 0x2400-0x24ff mem 0x41100000-0x411000ff irq 11 at device 15.0 on pci0
 sym0: No NVRAM, ID 7, Fast-10, SE, parity checking
 sym0: [GIANT-LOCKED]
 cbb0: <TI1211 PCI-CardBus Bridge> at device 16.0 on pci0
 pccard0: <16-bit PCCard bus> on cbb0
 isab0: <PCI-ISA bridge> at device 20.0 on pci0
 isa0: <ISA bus> on isab0
 atapci0: <Intel PIIX4 UDMA33 controller> port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0x20e0-0x20ef at device 20.1 on pci0
 ata0: <ATA channel 0> on atapci0
 ata1: <ATA channel 1> on atapci0
 uhci0: <Intel 82371AB/EB (PIIX4) USB controller> port 0x20c0-0x20df irq 11 at device 20.2 on pci0
 uhci0: [GIANT-LOCKED]
 usb0: <Intel 82371AB/EB (PIIX4) USB controller> on uhci0
 usb0: USB revision 1.0
 uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
 uhub0: 2 ports with 2 removable, self powered
 pci0: <bridge> at device 20.3 (no driver attached)
 acpi_button0: <Power Button> on acpi0
 atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64 irq 1 on acpi0
 atkbd0: <AT Keyboard> irq 1 on atkbdc0
 kbd0 at atkbd0
 atkbd0: [GIANT-LOCKED]
 psm0: <PS/2 Mouse> irq 12 on atkbdc0
 psm0: [GIANT-LOCKED]
 psm0: model MouseMan+, device ID 0
 ppc0: <ECP parallel printer port> port 0x378-0x37f,0x778-0x77d irq 7 drq 3 on acpi0
 ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
 ppc0: FIFO with 16/16/8 bytes threshold
 ppbus0: <Parallel port bus> on ppc0
 lpt0: <Printer> on ppbus0
 lpt0: Interrupt-driven port
 ppi0: <Parallel I/O> on ppbus0
 uart0: <16550 or compatible> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0
 uart1: <16550 or compatible> port 0x2f8-0x2ff irq 3 on acpi0
 fdc0: <floppy drive controller> port 0x3f0-0x3f5 irq 6 drq 2 on acpi0
 fdc0: [FAST]
 fd0: <1440-KB 3.5" drive> on fdc0 drive 0
 sbc0: <ESS ES1869> port 0x220-0x22f,0x388-0x38b,0x330-0x331 irq 5 drq 1,0 on acpi0
 sbc0: [GIANT-LOCKED]
 pcm0: <ESS 18xx DSP> on sbc0
 pcm0: [GIANT-LOCKED]
 pmtimer0 on isa0
 orm0: <ISA Option ROMs> at iomem 0xc0000-0xc7fff,0xc8000-0xc8fff,0xe0000-0xe7fff on isa0
 sc0: <System console> at flags 0x100 on isa0
 sc0: VGA <16 virtual consoles, flags=0x300>
 vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
 ugen0: vendor 0x05a9 product 0xa511, rev 1.00/1.00, addr 2
 uhub1: vendor 0x04b4 product 0x6560, class 9/0, rev 2.00/0.08, addr 3
 uhub1: 4 ports with 4 removable, self powered
 ucom0: vendor 0x067b product 0x2303, rev 1.10/2.02, addr 4
 Timecounter "TSC" frequency 646666847 Hz quality 800
 Timecounters tick every 1.000 msec
 Fast IPsec: Initialized Security Association Processing.
 ipfw2 (+ipv6) initialized, divert loadable, rule-based forwarding enabled, default to deny, logging disabled
 Waiting 5 seconds for SCSI devices to settle
 wi0: <LG 11Mbps Wireless LAN PCI Card> at port 0x100-0x13f irq 11 function 0 config 1 on pccard0
 wi0: using RF:PRISM2.5 MAC:ISL3873
 wi0: Intersil Firmware: Primary (1.1.0), Station (1.4.9)
 wi0: Ethernet address: 00:04:47:50:15:3a
 ad0: 19595MB <MAXTOR 6L020L1 A93.0500> at ata0-master UDMA33
 ad3: 19470MB <IC35L020AVER07 0 ER2OA45A> at ata1-slave UDMA33
 cd0 at sym0 bus 0 target 3 lun 0
 cd0: <TOSHIBA CD-ROM XM-5201TA 3014> Removable CD-ROM SCSI-2 device 
 cd0: 4.237MB/s transfers (4.237MHz, offset 8)
 cd0: cd present [296339 x 2048 byte records]
 Trying to mount root from ufs:/dev/ad0s1a
 
 --ELM825927310-1201-0_
 Content-Type: text/plain; charset=ISO-8859-1
 Content-Disposition: attachment; filename=HMO-UART.puc+uart-module.dmesg
 Content-Description: /tmp/HMO-UART.puc+uart-module.dmesg
 Content-Transfer-Encoding: 7bit
 
 Copyright (c) 1992-2006 The FreeBSD Project.
 Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
 	The Regents of the University of California. All rights reserved.
 FreeBSD is a registered trademark of The FreeBSD Foundation.
 FreeBSD 6.2-615 #3: Mon Nov 27 07:43:11 CET 2006
     root@:/usr/obj/usr/src/sys/HMO-UART
 Timecounter "i8254" frequency 1193182 Hz quality 0
 CPU: Intel Pentium III (646.67-MHz 686-class CPU)
   Origin = "GenuineIntel"  Id = 0x683  Stepping = 3
   Features=0x383f9ff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR,SSE>
 real memory  = 402653184 (384 MB)
 avail memory = 384520192 (366 MB)
 kbd1 at kbdmux0
 acpi0: <COMPAQ CPQB0B5> on motherboard
 Timecounter "ACPI-safe" frequency 3579545 Hz quality 1000
 acpi_timer0: <24-bit timer at 3.579545MHz> port 0xf808-0xf80b on acpi0
 cpu0: <ACPI CPU> on acpi0
 acpi_throttle0: <ACPI CPU Throttling> on cpu0
 pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
 pci0: <ACPI PCI bus> on pcib0
 agp0: <Intel 82443BX (440 BX) host to PCI bridge> mem 0x44000000-0x47ffffff at device 0.0 on pci0
 pcib1: <PCI-PCI bridge> at device 1.0 on pci0
 pci1: <PCI bus> on pcib1
 pci1: <display, VGA> at device 0.0 (no driver attached)
 fxp0: <Intel 82559 Pro/100 Ethernet> port 0x2040-0x207f mem 0x41300000-0x41300fff,0x41200000-0x412fffff irq 11 at device 13.0 on pci0
 miibus0: <MII bus> on fxp0
 inphy0: <i82555 10/100 media interface> on miibus0
 inphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
 fxp0: Ethernet address: 00:90:27:88:10:e6
 puc0: <Dolphin Peripherals 4036> port 0x2000-0x201f irq 10 at device 14.0 on pci0
 uart2: <16550 or compatible> on puc0
 uart3: <16550 or compatible> on puc0
 sym0: <810> port 0x2400-0x24ff mem 0x41100000-0x411000ff irq 11 at device 15.0 on pci0
 sym0: No NVRAM, ID 7, Fast-10, SE, parity checking
 sym0: [GIANT-LOCKED]
 cbb0: <TI1211 PCI-CardBus Bridge> at device 16.0 on pci0
 pccard0: <16-bit PCCard bus> on cbb0
 isab0: <PCI-ISA bridge> at device 20.0 on pci0
 isa0: <ISA bus> on isab0
 atapci0: <Intel PIIX4 UDMA33 controller> port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0x20e0-0x20ef at device 20.1 on pci0
 ata0: <ATA channel 0> on atapci0
 ata1: <ATA channel 1> on atapci0
 uhci0: <Intel 82371AB/EB (PIIX4) USB controller> port 0x20c0-0x20df irq 11 at device 20.2 on pci0
 uhci0: [GIANT-LOCKED]
 usb0: <Intel 82371AB/EB (PIIX4) USB controller> on uhci0
 usb0: USB revision 1.0
 uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
 uhub0: 2 ports with 2 removable, self powered
 pci0: <bridge> at device 20.3 (no driver attached)
 acpi_button0: <Power Button> on acpi0
 atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64 irq 1 on acpi0
 atkbd0: <AT Keyboard> irq 1 on atkbdc0
 kbd0 at atkbd0
 atkbd0: [GIANT-LOCKED]
 psm0: <PS/2 Mouse> irq 12 on atkbdc0
 psm0: [GIANT-LOCKED]
 psm0: model MouseMan+, device ID 0
 ppc0: <ECP parallel printer port> port 0x378-0x37f,0x778-0x77d irq 7 drq 3 on acpi0
 ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
 ppc0: FIFO with 16/16/8 bytes threshold
 ppbus0: <Parallel port bus> on ppc0
 lpt0: <Printer> on ppbus0
 lpt0: Interrupt-driven port
 ppi0: <Parallel I/O> on ppbus0
 uart0: <16550 or compatible> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0
 uart1: <16550 or compatible> port 0x2f8-0x2ff irq 3 on acpi0
 fdc0: <floppy drive controller> port 0x3f0-0x3f5 irq 6 drq 2 on acpi0
 fdc0: [FAST]
 fd0: <1440-KB 3.5" drive> on fdc0 drive 0
 sbc0: <ESS ES1869> port 0x220-0x22f,0x388-0x38b,0x330-0x331 irq 5 drq 1,0 on acpi0
 sbc0: [GIANT-LOCKED]
 pcm0: <ESS 18xx DSP> on sbc0
 pcm0: [GIANT-LOCKED]
 pmtimer0 on isa0
 orm0: <ISA Option ROMs> at iomem 0xc0000-0xc7fff,0xc8000-0xc8fff,0xe0000-0xe7fff on isa0
 sc0: <System console> at flags 0x100 on isa0
 sc0: VGA <16 virtual consoles, flags=0x300>
 vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
 ugen0: vendor 0x05a9 product 0xa511, rev 1.00/1.00, addr 2
 uhub1: vendor 0x04b4 product 0x6560, class 9/0, rev 2.00/0.08, addr 3
 uhub1: 4 ports with 4 removable, self powered
 ucom0: vendor 0x067b product 0x2303, rev 1.10/2.02, addr 4
 Timecounter "TSC" frequency 646666756 Hz quality 800
 Timecounters tick every 1.000 msec
 Fast IPsec: Initialized Security Association Processing.
 ipfw2 (+ipv6) initialized, divert loadable, rule-based forwarding enabled, default to deny, logging disabled
 Waiting 5 seconds for SCSI devices to settle
 wi0: <LG 11Mbps Wireless LAN PCI Card> at port 0x100-0x13f irq 11 function 0 config 1 on pccard0
 wi0: using RF:PRISM2.5 MAC:ISL3873
 wi0: Intersil Firmware: Primary (1.1.0), Station (1.4.9)
 wi0: Ethernet address: 00:04:47:50:15:3a
 ad0: 19595MB <MAXTOR 6L020L1 A93.0500> at ata0-master UDMA33
 ad3: 19470MB <IC35L020AVER07 0 ER2OA45A> at ata1-slave UDMA33
 cd0 at sym0 bus 0 target 3 lun 0
 cd0: <TOSHIBA CD-ROM XM-5201TA 3014> Removable CD-ROM SCSI-2 device 
 cd0: 4.237MB/s transfers (4.237MHz, offset 8)
 cd0: cd present [296339 x 2048 byte records]
 Trying to mount root from ufs:/dev/ad0s1a
 
 --ELM825927310-1201-0_--

From: Marcel Moolenaar <xcllnt@mac.com>
To: Helge Oldach <puc-uart@oldach.net>
Cc: FreeBSD-gnats-submit@FreeBSD.org
Subject: Re: i386/105616: UART PCI device just silent...
Date: Sun, 26 Nov 2006 23:21:50 -0800

 On Nov 26, 2006, at 11:11 PM, Helge Oldach wrote:
 
 > There are no specific hints for the puc-based UARTs. I understand that
 > PCI devices don't need such hints. Actually, both the "sio kernel" and
 > the "uart kernel" locate the device identically on the same IRQ and IO
 > ports.
 >
 > Am I mistaken here?
 
 No, not at all. You got it right.
 
 >> Why do you have PUC_FASTINTR for sio, but not for uart?
 >
 > I had just been trying to play with the knobs that I have in the  
 > config
 > file. PUC_FASTINTR reduces overruns somewhat for the "sio kernel"  
 > but it
 > doesn't change behaviour at all. Specifically, no impact on this  
 > issue.
 
 I think it's time to go back to the question why uart(4) detects
 the SUN 1889 chipset as 166550 compatible and not as 16650
 compatible. I think there may be a chipset-specific issue here
 that uart(4) seems to trigger. I need to get one of those cards
 and analyze the problem in more detail.
 
 In other words, I think we have gone over the differences and the
 only difference that remains is that sio(4) and uart(4) interact
 differently with the hardware.
 
 -- 
 Marcel Moolenaar
 xcllnt@mac.com
 
 

From: puc-uart@oldach.net (Helge Oldach)
To: xcllnt@mac.com (Marcel Moolenaar)
Cc: FreeBSD-gnats-submit@FreeBSD.org
Subject: Re: i386/105616: UART PCI device just silent...
Date: Mon, 27 Nov 2006 08:42:04 +0100 (CET)

 Hi Marcel,
 
 >I think it's time to go back to the question why uart(4) detects
 >the SUN 1889 chipset as 166550 compatible and not as 16650
 >compatible. I think there may be a chipset-specific issue here
 >that uart(4) seems to trigger. I need to get one of those cards
 >and analyze the problem in more detail.
 
 Note that also sio detects it as a 16550A.
 
 If it helps, I can place this card in a test machine over here for a
 couple of days and plug some serial device to it, so that you can play
 with it from remote. That may take a day or two to set up however.
 
 Regards,
 Helge

From: Marcel Moolenaar <xcllnt@mac.com>
To: puc-uart@oldach.net (Helge Oldach)
Cc: FreeBSD-gnats-submit@FreeBSD.org
Subject: Re: i386/105616: UART PCI device just silent...
Date: Sun, 26 Nov 2006 23:48:48 -0800

 On Nov 26, 2006, at 11:42 PM, Helge Oldach wrote:
 
 > Hi Marcel,
 >
 >> I think it's time to go back to the question why uart(4) detects
 >> the SUN 1889 chipset as 166550 compatible and not as 16650
 >> compatible. I think there may be a chipset-specific issue here
 >> that uart(4) seems to trigger. I need to get one of those cards
 >> and analyze the problem in more detail.
 >
 > Note that also sio detects it as a 16550A.
 
 The sio(4) driver can only differentiate between non-FIFO and FIFO
 hardware (roughly speaking). It cannot differentiate between 16550,
 16650, 16750 and/or 16950.
 
 > If it helps, I can place this card in a test machine over here for a
 > couple of days and plug some serial device to it, so that you can play
 > with it from remote. That may take a day or two to set up however.
 
 That would definitely help. If you have a cross-over cable then you
 can connect both UART interfaces with each other, which makes testing
 much easier.
 
 -- 
 Marcel Moolenaar
 xcllnt@mac.com
 
 

From: puc-uart@oldach.net (Helge Oldach)
To: xcllnt@mac.com (Marcel Moolenaar)
Cc: FreeBSD-gnats-submit@FreeBSD.org
Subject: Re: i386/105616: UART PCI device just silent...
Date: Mon, 27 Nov 2006 08:52:29 +0100 (CET)

 Hi Marcel,
 
 >The sio(4) driver can only differentiate between non-FIFO and FIFO
 >hardware (roughly speaking). It cannot differentiate between 16550,
 >16650, 16750 and/or 16950.
 
 Ah, OK.
 
 >> If it helps, I can place this card in a test machine over here for a
 >> couple of days and plug some serial device to it, so that you can play
 >> with it from remote. That may take a day or two to set up however.
 >
 >That would definitely help. If you have a cross-over cable then you
 >can connect both UART interfaces with each other, which makes testing
 >much easier.
 
 OK, will let you know.
 
 Helge

From: puc-uart@oldach.net (Helge Oldach)
To: xcllnt@mac.com (Marcel Moolenaar)
Cc: FreeBSD-gnats-submit@FreeBSD.org
Subject: Re: i386/105616: UART PCI device just silent...
Date: Tue, 28 Nov 2006 17:21:43 +0100 (CET)

 Hi Marcel,
 
 >> If it helps, I can place this card in a test machine over here for a
 >> couple of days and plug some serial device to it, so that you can play
 >> with it from remote. That may take a day or two to set up however.
 >
 >That would definitely help. If you have a cross-over cable then you
 >can connect both UART interfaces with each other,
 
 Thats a good point. I tried this with the current machine - and it
 works! I'm completely astonished. I can send characters in either
 direction. Both lines are stty clocal -crtcts (as it should with cu), so
 there is likely no hardware flow control issue.
 
 I rewired the line to the Cisco router with a LED box inbetween - and I
 see both RX and TX flicker when I send characters from the appropriate
 direction. So data is clearly transmitted. Again, control signals are
 fine.
 
 I cross-checked this with the sio kernel - exactly the same control
 signals, exactly the same behaviour.
 
 The only thing that may be botched is speed, or potentially also parity
 or stop bits. Again I iterated all possible speeds and also played
 around with parity & stop bits on the Cisco end, but no success. I
 suspect that with the cross-over cable bith UARTs have some arbitrary,
 non-common clocking so that it works in that scenario.
 
 Any ideas?
 
 Helge

From: Marcel Moolenaar <xcllnt@mac.com>
To: Helge Oldach <puc-uart@oldach.net>
Cc: FreeBSD-gnats-submit@FreeBSD.org
Subject: Re: i386/105616: UART PCI device just silent...
Date: Tue, 28 Nov 2006 09:47:37 -0800

 On Nov 28, 2006, at 8:21 AM, Helge Oldach wrote:
 
 > Hi Marcel,
 >
 >>> If it helps, I can place this card in a test machine over here for a
 >>> couple of days and plug some serial device to it, so that you can  
 >>> play
 >>> with it from remote. That may take a day or two to set up however.
 >>
 >> That would definitely help. If you have a cross-over cable then you
 >> can connect both UART interfaces with each other,
 >
 > Thats a good point. I tried this with the current machine - and it
 > works! I'm completely astonished.
 
 Hmmm, weird. Good to know though :-)
 
 > The only thing that may be botched is speed, or potentially also  
 > parity
 > or stop bits.
 
 It's definitely an odd failure mode. What happens if you wire one of the
 UART ports on the PCI card to one of the "legacy" on-board serial ports?
 Could you try both the PCI UARTs?
 
 -- 
 Marcel Moolenaar
 xcllnt@mac.com
 
 

From: puc-uart@oldach.net (Helge Oldach)
To: xcllnt@mac.com (Marcel Moolenaar)
Cc: FreeBSD-gnats-submit@FreeBSD.org
Subject: Re: i386/105616: UART PCI device just silent...
Date: Tue, 28 Nov 2006 21:14:19 +0100 (CET)

 Hi Marcel,
 
 >> The only thing that may be botched is speed, or potentially also
 >> parity or stop bits.
 >It's definitely an odd failure mode. What happens if you wire one of
 >the UART ports on the PCI card to one of the "legacy" on-board serial
 >ports? Could you try both the PCI UARTs?
 
 I did. What happens is that single, typed-in characters don't make
 to the remote, while files piped to the remote via ~>file appear as
 garbage. The garbage contains a lot of 0xff characters. So there *is*
 some sort of communication in place. It doesn't matter whether I send
 on the puc uart or the on-board uart. It also doesn't make too much
 difference if I play with the transmit and receive speeds.
 
 This all points into the direction of speed (parity, stopbits) mismatch.
 
 Going to extremes: When I set the puc UART to 1200 bps and the on-board
 to 115200, I constantly receive a 0xff on the on-board for any arbitrary
 character typed on the puc uart. But there is silence the other way
 'round.
 
 There is no difference between the two puc/uart ports. Garbage either
 way, but at least there is communication on both ports. So IO ports and
 IRQ are likely correct.
 
 Any further ideas? Is there a simple means to measure the actual speed?
 
 Helge

From: puc-uart@oldach.net (Helge Oldach)
To: xcllnt@mac.com (Marcel Moolenaar)
Cc: FreeBSD-gnats-submit@FreeBSD.org
Subject: Re: i386/105616: UART PCI device just silent...
Date: Tue, 28 Nov 2006 21:49:45 +0100 (CET)

 Hi Marcel,
 
 one more observation:
 
 When I connect the two puc uart ports at different speeds, communication
 still works fine. It even works with 50 against 115200 bps, in either
 direction! Even piping files to remote works without visible errors.
 
 Further, if I place both sides at 50 bps (via "cu -s 50"), communication
 is definitely much faster than one would expect at 50 bps. And it
 doesn't seem to change when both ends are at 115200. I'd say the actual
 speed is somewhere around 9600.
 
 It seems that setting clock rate on this board does not work properly,
 but instead some default non-standard value remains set forever...
 
 Regards,
 Helge

From: Marcel Moolenaar <xcllnt@mac.com>
To: puc-uart@oldach.net (Helge Oldach)
Cc: FreeBSD-gnats-submit@FreeBSD.org
Subject: Re: i386/105616: UART PCI device just silent...
Date: Tue, 28 Nov 2006 13:09:19 -0800

 --Apple-Mail-1--390117489
 Content-Transfer-Encoding: 7bit
 Content-Type: text/plain;
 	charset=US-ASCII;
 	delsp=yes;
 	format=flowed
 
 
 On Nov 28, 2006, at 12:49 PM, Helge Oldach wrote:
 
 > Hi Marcel,
 >
 > one more observation:
 >
 > When I connect the two puc uart ports at different speeds,  
 > communication
 > still works fine. It even works with 50 against 115200 bps, in either
 > direction! Even piping files to remote works without visible errors.
 >
 > Further, if I place both sides at 50 bps (via "cu -s 50"),  
 > communication
 > is definitely much faster than one would expect at 50 bps. And it
 > doesn't seem to change when both ends are at 115200. I'd say the  
 > actual
 > speed is somewhere around 9600.
 >
 > It seems that setting clock rate on this board does not work properly,
 > but instead some default non-standard value remains set forever...
 
 Interesting. The uart(4) driver in -STABLE writes the baudrate in a
 single 16-bit wide operation. The uart(4) driver in -CURRENT doesn't
 do that. Could you try the attached patch?
 
 thanks!
 
 -- 
 Marcel Moolenaar
 xcllnt@mac.com
 
 
 --Apple-Mail-1--390117489
 Content-Transfer-Encoding: 7bit
 Content-Type: application/octet-stream;
 	x-unix-mode=0644;
 	name=uart.diff
 Content-Disposition: attachment;
 	filename=uart.diff
 
 Index: ic/ns16550.h
 ===================================================================
 RCS file: /home/ncvs/src/sys/dev/ic/ns16550.h,v
 retrieving revision 1.16
 diff -u -r1.16 ns16550.h
 --- ic/ns16550.h	20 Nov 2004 23:19:42 -0000	1.16
 +++ ic/ns16550.h	28 Nov 2006 21:06:52 -0000
 @@ -127,7 +127,8 @@
  #define	com_dlbl	com_dll
  #define	com_dlm		1	/* divisor latch high (R/W) */
  #define	com_dlbh	com_dlm
 -#define	REG_DL		com_dll
 +#define	REG_DLL		com_dll
 +#define	REG_DLH		com_dlm
  
  /* 16450 register #7.  Not multiplexed. */
  #define	com_scr		7	/* scratch register (R/W) */
 Index: uart/uart.h
 ===================================================================
 RCS file: /home/ncvs/src/sys/dev/uart/uart.h,v
 retrieving revision 1.4
 diff -u -r1.4 uart.h
 --- uart/uart.h	6 Jan 2005 01:43:26 -0000	1.4
 +++ uart/uart.h	28 Nov 2006 21:05:06 -0000
 @@ -50,12 +50,6 @@
  #define	uart_setreg(bas, reg, value)	\
  	bus_space_write_1((bas)->bst, (bas)->bsh, uart_regofs(bas, reg), value)
  
 -/* 16-bit I/O (e.g. to divisor latch) */
 -#define	uart_getdreg(bas, reg)		\
 -	bus_space_read_2((bas)->bst, (bas)->bsh, uart_regofs(bas, reg))
 -#define	uart_setdreg(bas, reg, value)	\
 -	bus_space_write_2((bas)->bst, (bas)->bsh, uart_regofs(bas, reg), value)
 -
  /*
   * XXX we don't know the length of the bus space address range in use by
   * the UART. Since barriers don't use the length field currently, we put
 Index: uart/uart_dev_ns8250.c
 ===================================================================
 RCS file: /home/ncvs/src/sys/dev/uart/uart_dev_ns8250.c,v
 retrieving revision 1.14
 diff -u -r1.14 uart_dev_ns8250.c
 --- uart/uart_dev_ns8250.c	6 Jan 2005 01:43:26 -0000	1.14
 +++ uart/uart_dev_ns8250.c	28 Nov 2006 21:04:48 -0000
 @@ -75,7 +75,7 @@
  	lcr = uart_getreg(bas, REG_LCR);
  	uart_setreg(bas, REG_LCR, lcr | LCR_DLAB);
  	uart_barrier(bas);
 -	divisor = uart_getdreg(bas, REG_DL);
 +	divisor = uart_getreg(bas, REG_DLL) | (uart_getreg(bas, REG_DLH) << 8);
  	uart_barrier(bas);
  	uart_setreg(bas, REG_LCR, lcr);
  	uart_barrier(bas);
 @@ -194,12 +194,13 @@
  
  	/* Set baudrate. */
  	if (baudrate > 0) {
 -		uart_setreg(bas, REG_LCR, lcr | LCR_DLAB);
 -		uart_barrier(bas);
  		divisor = ns8250_divisor(bas->rclk, baudrate);
  		if (divisor == 0)
  			return (EINVAL);
 -		uart_setdreg(bas, REG_DL, divisor);
 +		uart_setreg(bas, REG_LCR, lcr | LCR_DLAB);
 +		uart_barrier(bas);
 +		uart_setreg(bas, REG_DLL, divisor & 0xff);
 +		uart_setreg(bas, REG_DLH, (divisor >> 8) & 0xff);
  		uart_barrier(bas);
  	}
  
 @@ -519,7 +520,8 @@
  		lcr = uart_getreg(bas, REG_LCR);
  		uart_setreg(bas, REG_LCR, lcr | LCR_DLAB);
  		uart_barrier(bas);
 -		divisor = uart_getdreg(bas, REG_DL);
 +		divisor = uart_getreg(bas, REG_DLL) |
 +		    (uart_getreg(bas, REG_DLH) << 8);
  		uart_barrier(bas);
  		uart_setreg(bas, REG_LCR, lcr);
  		uart_barrier(bas);
 
 --Apple-Mail-1--390117489
 Content-Transfer-Encoding: 7bit
 Content-Type: text/plain;
 	charset=US-ASCII;
 	format=flowed
 
 
 
 --Apple-Mail-1--390117489--

From: puc-uart@oldach.net (Helge Oldach)
To: xcllnt@mac.com (Marcel Moolenaar)
Cc: FreeBSD-gnats-submit@FreeBSD.org
Subject: Re: i386/105616: UART PCI device just silent...
Date: Tue, 28 Nov 2006 22:38:44 +0100 (CET)

 Hi Marcel,
 
 >> It seems that setting clock rate on this board does not work
 >> properly, but instead some default non-standard value remains set
 >> forever...
 >Interesting. The uart(4) driver in -STABLE writes the baudrate in a
 >single 16-bit wide operation. The uart(4) driver in -CURRENT doesn't do
 >that. Could you try the attached patch?
 
 Works, problem fixed. I now can talk uart(4) just identical to sio(4).
 Ah, finally no silo overflows any more!
 
 Many thanks for this truely outstanding support!!!
 
 BTW, I applies to most 8250/16550 based PCI board, so it should probably
 be fixed before 6.2-STABLE, IMHO.
 
 BTW2, still the SUN1889 is recognized as 16550, not 16650. This has
 probably no impact since it only means we do not utilize the full FIFO
 depth of the 16650, but still...
 
 Many thanks again, your work deserves it!
 
 Regards,
 Helge

From: Marcel Moolenaar <xcllnt@mac.com>
To: Helge Oldach <puc-uart@oldach.net>
Cc: FreeBSD-gnats-submit@FreeBSD.org
Subject: Re: i386/105616: UART PCI device just silent...
Date: Tue, 28 Nov 2006 13:47:06 -0800

 On Nov 28, 2006, at 1:38 PM, Helge Oldach wrote:
 
 > Hi Marcel,
 >
 >>> It seems that setting clock rate on this board does not work
 >>> properly, but instead some default non-standard value remains set
 >>> forever...
 >> Interesting. The uart(4) driver in -STABLE writes the baudrate in a
 >> single 16-bit wide operation. The uart(4) driver in -CURRENT  
 >> doesn't do
 >> that. Could you try the attached patch?
 >
 > Works, problem fixed. I now can talk uart(4) just identical to sio(4).
 > Ah, finally no silo overflows any more!
 
 Excellent. Good news. Thanks for testing.
 
 > BTW, I applies to most 8250/16550 based PCI board, so it should  
 > probably
 > be fixed before 6.2-STABLE, IMHO.
 
 I agree. I will work on that right away.
 
 > BTW2, still the SUN1889 is recognized as 16550, not 16650. This has
 > probably no impact since it only means we do not utilize the full FIFO
 > depth of the 16650, but still...
 
 The type is determined based on the FIFO size. Apparently, the FIFO size
 is 16 bytes and not 32 bytes. I don't know why this is. Maybe we need to
 set a special bit to "enable" the full FIFO size. However, this would
 not be compatible with 16650 UARTs. It remains a mystery...
 
 Thanks again for getting this problem resolved!
 
 -- 
 Marcel Moolenaar
 xcllnt@mac.com
 
 

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: i386/105616: commit references a PR
Date: Tue, 28 Nov 2006 22:03:56 +0000 (UTC)

 marcel      2006-11-28 22:03:37 UTC
 
   FreeBSD src repository
 
   Modified files:        (Branch: RELENG_6)
     sys/dev/ic           ns16550.h 
     sys/dev/uart         uart.h uart_dev_ns8250.c 
   Log:
   Partial MFC: Remove 16-bit wide I/O. It breaks when the register shift
   is non-null and may not work on all chipsets.
   
   PR: i386/105616
   Tested by: Helge Oldach
   
   Revision  Changes    Path
   1.16.2.1  +2 -1      src/sys/dev/ic/ns16550.h
   1.4.2.1   +0 -6      src/sys/dev/uart/uart.h
   1.14.2.1  +7 -5      src/sys/dev/uart/uart_dev_ns8250.c
 _______________________________________________
 cvs-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/cvs-all
 To unsubscribe, send any mail to "cvs-all-unsubscribe@freebsd.org"
 
State-Changed-From-To: open->closed 
State-Changed-By: marcel 
State-Changed-When: Wed Nov 29 17:55:38 UTC 2006 
State-Changed-Why:  
The patch tested by Helge has been committed to both RELENG_6 and 
RELENG_6_2 and will therefore be in FreeBSD 6.2 and onwards. Thanks 
to Helge for working with me on this problem. 


http://www.freebsd.org/cgi/query-pr.cgi?pr=105616 

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: i386/105616: commit references a PR
Date: Wed, 29 Nov 2006 17:57:54 +0000 (UTC)

 marcel      2006-11-29 17:54:59 UTC
 
   FreeBSD src repository
 
   Modified files:        (Branch: RELENG_6_2)
     sys/dev/ic           ns16550.h 
     sys/dev/uart         uart.h uart_dev_ns8250.c 
   Log:
   MFS: Remove 16-bit wide I/O. It breaks when the register shift
   is non-null and may not work on all chipsets.
   
   PR: i386/105616
   Approved by: re (kensmith)
   
   Revision  Changes    Path
   1.16.8.1  +2 -1      src/sys/dev/ic/ns16550.h
   1.4.8.1   +0 -6      src/sys/dev/uart/uart.h
   1.14.8.1  +7 -5      src/sys/dev/uart/uart_dev_ns8250.c
 _______________________________________________
 cvs-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/cvs-all
 To unsubscribe, send any mail to "cvs-all-unsubscribe@freebsd.org"
 
>Unformatted:
