Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 11 May 2000 09:44:41 -0700
From:      Ken Marx <kmarx@bigshed.com>
To:        "freebsd-questions@FreeBSD.ORG" <freebsd-questions@FreeBSD.ORG>, Ken Marx <kmarx@bigshed.com>
Subject:   user level device detection
Message-ID:  <391AE379.C038BCBC@bigshed.com>

next in thread | raw e-mail | index | archive | help
Hi,

I've got some code that's trying to determine if a soundcard/sound-support
exists in the running system.

I'm using PCIOCGETCONF to look for any PCI soundcards.

Here are my questions:

1. It appears that PCIOCGETCONF is not a public interface on 2.x, 3.x.
   Is there a clean way around this without #includ'ing things from
   /usr/src/sys/pci (which may not even exist on the host doing the compile)?

2. Even for 4.0 it seems that the interface isn't completely public:
   I had to go look at /usr/src/sys/pci/pcireg.h to get symbolic #defines
   for things like PCIC_MULTIMEDIA, etc.  Is this correct? Due to change?

3. For ISA soundcard detection, I'm looking at how pnpinfo does it.

    a. Is this a reasonable way to go?
    c. If so, is the keyword 'Audio' in the descriptive text guaranteed
       to always be there for an ISA soundcard?
    b. Is there a simpler, cleaner i/f for doing this (akin to PCIOCGETCONF
       perhaps)?

4. Will the above approaches cover the case of motherboards with on-board
   sound support? If not, then...?

5. Is there perhaps a simpler way to do this in general? E.g., without
   presuming permissions to read on /dev/pci and /dev/io, respectively?
   Some general way to get a list of all probed devices and their
   attributes?

   (I suppose I could look at dmesg output and search for sndN and pcmN.
   I'm hoping for something less crude. Or is there a programatic
   interface for the /var/log output, et al? I'd have to be able to get
   to this info even when the /dev/kmem msg buffer and log wraps.)

Thanks in advance for any guidence.

k.

-- 
Ken Marx, kmarx@bigshed.com
We cannot possibly do our job unless we attempt to be pro-active and stop 
beating around the bush on the goal of our customer satisfaction.
		- http://cgi.bigshed.com/~kmarx/cgi-bin/speak.cgi


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




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