Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 30 Dec 1998 01:27:02 -0500
From:      "Louis A. Mamakos" <louie@TransSys.COM>
To:        Matt Edwards <insane1@geocities.com>
Cc:        freebsd-hackers@FreeBSD.ORG
Subject:   Re: PnP PCI modem 
Message-ID:  <199812300627.BAA23842@whizzo.transsys.com>
In-Reply-To: Your message of "Tue, 29 Dec 1998 22:19:07 MST." <3689B7CA.6B115A81@geocities.com> 
References:  <3689B7CA.6B115A81@geocities.com> 

next in thread | previous in thread | raw e-mail | index | archive | help
> Allright, so I've rebuilt my kernel, it supports my PCI video card, and
> my ISA COM ports.  How do I make FreeBSK recognize a Plug&Play PCI
> modem?  In WINNT it set up on COM3 on a high IRQ (10 I think) and I
> can't make it install anywhere else.
> Thanx.

First of all, if you have a WinModem (e.g., a modem without a brain that
relies on the system CPU to do a bunch of work), then you're just screwed
and you should stop torturing yourself right now.

If you have regular modem, then read on..

I have a Creative Labs Phoneblaster, which you can think of as a SB16 PNP,
with a voice/fax modem on the same board.   The modem is PNP too.  With
the board in the system, try running the pnpinfo program to find out
the relevent information on the board.

You'll see something like:

# pnpinfo
Checking for Plug-n-Play devices...

Card assigned CSN #1
Vendor ID CTL3002 (0x02308c0e), Serial Number 0x00005f7c
PnP Version 1.0, Vendor Version 48
Device Description: Creative Phone Blaster 28.8/33.6

[stuff deleted in here for the logical devices 0 through 3
on this card.  Your board will probably have only a single
logical device]

Logical Device ID: CTL3001 0x01308c0e #4
Device Description: COM
TAG Start DF
Good Configuration
    IRQ: 3 4 5 7 10 11 15  - only one type (true/edge)
    I/O Range 0x3e8 .. 0x3e8, alignment 0x1, len 0x8
        [16-bit addr]
TAG Start DF
Acceptable Configuration
    IRQ: 3 4 5 7 10 11 15  - only one type (true/edge)
    I/O Range 0x2e8 .. 0x2e8, alignment 0x1, len 0x8
        [16-bit addr]
TAG Start DF
Acceptable Configuration
    IRQ: 3  - only one type (true/edge)
    I/O Range 0x2f8 .. 0x2f8, alignment 0x1, len 0x8
        [16-bit addr]
TAG Start DF
Acceptable Configuration
    IRQ: 4  - only one type (true/edge)
    I/O Range 0x3f8 .. 0x3f8, alignment 0x1, len 0x8
        [16-bit addr]
TAG Start DF
Sub-optimal Configuration
    IRQ: 3 4 5 7 10 11 15  - only one type (true/edge)
    I/O Range 0x2a0 .. 0x2d8, alignment 0x8, len 0x8
        [16-bit addr]
TAG End DF
End Tag


You should choose one of the configurations (with the combinations of
irq, i/o ports and dma channels (none in this case) that work for you.

Then, make a file, like /kernel.config that looks like this:

pnp 1 0 os enable port0 0x280 port1 0x330 port2 0x388 irq0 10 drq0 1 drq1 5
pnp 1 1 os disable
pnp 1 2 os enable port0 0x320
pnp 1 3 os enable port0 0x200
pnp 1 4 os enable port0 0x2e8 irq0 7

You can ignore the first 4 lines in my example because the refer to the
other logical devices on the Phoneblaster card.  The last is the
relevent one for this example.

pnp 1 4 os enable port0 0x2e8 irq0 7

The '1' is the CSN for the board.  These are ordered apparently by how the
PNP isolation algorithm finds PNP ISA cards.  They start at 1.  The '4'
is the logical device (LDN).  A PNP peripheral can have more than one
logical device onboard, but your modem probably has only one, numbered '0'
rather than my value of 4.  You then specify that I/O port assignment from
the listed alternatives you want and which irq you want to use.  port0 and
irq0 are the first of more than one possible assignment you can make; some
logical devices support more than one (e.g., the SB16 PNP clone which is
my LDN 0).

In your case, with a PNP modem, your file will probably have only one
line that looks something like:

pnp 1 0 os enable port0 0x<pick one> irq0 <pick one>

You of course have to pick a combination of available IRQ and I/O port
numbers that the device supports (that you discover with pnpinfo),
and which don't conflict with whatever else you have in your system.

Next, in your kernel configuration, include something like:

options		USERCONFIG
controller	pnp0
device		sio2    at isa? port 0x2e8 tty irq 7 vector siointr

Substituting the I/O port and IRQ you selected.

You should be using the new /boot/loader bootstrap by now.  Your 
/boot/boot.conf file should then look something like:

load /kernel
load -t userconfig_script /kernel.config
autoboot

This should get you going in the right direction I think.  I've made the
assumption that you're running 3.0.  I don't know if the PNP stuff is
in 2.2-stable.  If you're using the old bootstrap stuff, the way that
the /kernel.config stuff is specified and passed to the kernel is also
a bit different.

louie



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message



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