[OmniOS-discuss] [discuss] overriding serial port IRQ

Albert Lee trisk at nexenta.com
Sun Feb 2 22:26:36 UTC 2014


On Sun, Feb 2, 2014 at 4:37 PM, Paul B. Henson <henson at acm.org> wrote:
> On Sun, Feb 02, 2014 at 11:10:35AM -0500, Albert Lee wrote:
>
>> To introduce this info to the devinfo tree, append to /kernel/drv/asy.conf:
>> name="asy" parent="isa" reg=1,0x3e8,8 interrupts=10;
>
> Thanks for the tip. I updated my asy.conf, it looks like this now:
>
> -----
> interrupt-priorities=12;
>
> # temporarily hardcode serial config due to broken BIOS
> name="asy" parent="isa" reg=1,0x3f8,8 interrupts=4;
> name="asy" parent="isa" reg=1,0x2f8,8 interrupts=3;
> name="asy" parent="isa" reg=1,0x3e8,8 interrupts=10;
> -----
>
> I then did a 'bootadm update-archive' (under the assumption this config
> needed to be pulled into it), and rebooted, but unfortunately, the
> serial console is still misbehaving :(. I have verbose boot enabled, and
> all I see is:
>
> SunOS Release 5.11 Version omnios-6de5e81 64-bit
> Copyright (c) 1983, 2010, Oracle and/or its affiliates. All rights
> reserved.
> [ network/ip-inter
>
> and then it stops, like it did before I tweaked asy.conf. I don't see
> any mention of serial, or asy, or tty/console in dmesg, is there any way
> to confirm what irq the os is using to make sure it picked up the
> hardcoded config? Hmm, looks like prtconf -v shows it:
>
>             asy, instance #2
>                 System properties:
>                     name='interrupts' type=int items=1
>                         value=0000000a
>                     name='reg' type=int items=3
>                         value=00000001.000003e8.00000008
>                     name='interrupt-priorities' type=int items=1
>                         value=0000000c
>
> Looks like it picked up irq 10 (0xa)? The other two ports say "not attached",
> not sure why, maybe because nothing's using them:
>
>             asy, instance #0 (driver not attached)
>
>             asy, instance #1 (driver not attached)
>
> Hmm, darn it. I tested it under linux while I was trying to figure out
> what broke, linux barfed on the bad bios config too, but when I hardcoded
> the irq to 10 linux worked fine on the SOL port, so I know it can work.
>
> Any other thoughts? Or maybe I'm SOL on the SOL port pending a supermicro
> bios update <sigh>.
>
> Thanks much...
>

Are you sure it's still ttyc/COM3? asy should pick up the device name
from the I/O address, which is why I used 0x3e8.
Also, echo ::interrupts | mdb -k should show the current assignments.

-Albert


More information about the OmniOS-discuss mailing list