I have a first cut at detecting hard drives, cdrom, cpu, nic, and modems. This
all uses libdetect and libisapnp, the code it self borrows heavily from a
libdetect example program. In many cases all we are actually doing is looking
up the info of interest in /proc. I've erred on the side of providing the user
with more information than necessary. If we need these to be smaller, they can
shrink somewhat, but it is sometimes nice to have too much information.
All the programs that can potentially probe the isa bus have a '-f' option
which turns that on (f=full detection), they default to passive detection. Is
an ISA proble the only thing we want to shy away from, what about detecting
modems and potentially messing with someone's mouse?
All the programs also can get passed a -v (verbose) switch.
I don't know what the eventual desired interface is to other tools. Currently
we are sending everything to stdout.
mdmdetect: I haven't actually tested this as I have no working modem to test it
on. If someone could do that, I would be happy, just to be sure.
ethdetect: knows about ~168 ethernet cards, but doesn't yet know the necessary
module for all of them. This is due to holes in libdetect's database. As that
database gets filled in it will be easy to incorporate the changes.
cpudetect: it looks like cpudetect will understand x86, powerpc and alpha
(based on the #ifdef's in the library), I don't see anything about m68k, arm or
sparc. That may indicate a limitation of libdetect, I'm not sure.
cddetect, diskdetect, memdetect, snddetect: nothing interesting here.
libdetects hardware list has some oddities. Example:
ICU1970 unknown unknown Sony CD-ROM unknown
Based on the rest of the entry I would expect to see 'cdrom' as the device type
(the second field), rather than 'unknown'. There are some more oddities like
partitioning: are we going to optionally probe the machines memory and decide
on a size for the swap partition?
I've played a bit with Progeny's discover but I still ahve no hard feeling as to
what we should do for post base-install configuration.
Comments, suggestion, critisism, appreciated,
The packages are currently available here: