how determine all possible drivers for my system
Oleg
subbsd at gmail.com
Fri Oct 17 14:09:48 PDT 2008
Hello maillist of my favorite Wortstation&Server OS
May i asking: how i can determine all drivers of existing devices, but who is
not present in GENERIC kernel.
For definition of all devices useful to me I have written the following a
little stupid script:
----------
#!/bin/sh
MODLIST=`find /boot/kernel -type f -name *.ko -print`
LOGFILE="/var/tmp/kldlog.txt"
# ignore for kldload module
IGNORE_MODLIST="/boot/kernel/kernel.ko /boot/kernel/tom.ko /boot/kernel/iw_cxgb.ko"
# (comment: tom.ko and iw_cwbg.ko after loading make "kernel panic" on my
system)
REPORTS="/var/tmp/reports.txt"
FINAL_FILTER="(already exist)|(File exist)|(Unsupported file type)|\
(already present)|(failed to register)|(Exec format error)|\
(symbol [aA-zZ]++ undefin)|(Weak symbols not supported)|\
(already registered)|(unable to register)"
# not know another easy way for fopen("/dev/klog")
/etc/rc.d/syslogd stop
echo "kern.* ${LOGFILE}" > /var/tmp/syslogd.conf
syslogd -f /var/tmp/syslogd.conf
#
truncate -s0 ${LOGFILE}
for MOD in ${MODLIST}; do
ignore=0
for IGNORE_MOD in $IGNORE_MODLIST; do
if [ "${IGNORE_MOD}" = "${MOD}" ]; then
ignore=1
fi
done
if [ $ignore -eq 1 ]; then
echo "Skipping ${MOD}..." >> ${LOGFILE}
else
echo "Try Loading ${MOD}..." >> ${LOGFILE}
sync;
kldload ${MOD} >> ${LOGFILE} 2>&1
fi
done
/etc/rc.d/syslogd start
egrep -Eiv "\"${FINAL_FILTER}\"" ${LOGFILE} |tee ${REPORTS}
---------
Result working off that scripts is the file reports.txt: {
Oct 17 23:51:11 kernel: acpi_aiboost0: <ASUStek AIBOOSTER> on acpi0
Oct 17 23:51:11 kernel: ppc0: cannot reserve I/O port range
Oct 17 23:51:12 kernel: acd0: FAILURE - INQUIRY ILLEGAL REQUEST asc=0x24
ascq=0x00 sks=0x48 0x00 0x01
Oct 17 23:51:12 kernel: cd0 at ata3 bus 0 target 0 lun 0
Oct 17 23:51:12 kernel: cd0: <PIONEER DVD-RW DVR-212D 1.09> Removable CD-ROM
SCSI-0 device
Oct 17 23:51:12 kernel: cd0: 3.300MB/s transfers
Oct 17 23:51:12 kernel: cd0: Attempt to query device size failed: NOT READY,
Medium not present
Oct 17 23:51:12 kernel: cryptosoft0: <software crypto> on motherboard
Oct 17 23:51:13 kernel: This module (opensolaris) contains code covered by
the
Oct 17 23:51:13 kernel: Common Development and Distribution License (CDDL)
Oct 17 23:51:13 kernel: see
http://opensolaris.org/os/licensing/opensolaris_license/
Oct 17 23:51:13 kernel: This module (opensolaris) contains code covered by
the
Oct 17 23:51:13 kernel: Common Development and Distribution License (CDDL)
Oct 17 23:51:13 kernel: see
http://opensolaris.org/os/licensing/opensolaris_license/
Oct 17 23:51:13 kernel: KLD dtrace.ko: depends on cyclic - not available
Oct 17 23:51:13 kernel: KLD dtmalloc.ko: depends on dtrace - not available
Oct 17 23:51:13 kernel: This module (opensolaris) contains code covered by
the
Oct 17 23:51:13 kernel: Common Development and Distribution License (CDDL)
Oct 17 23:51:13 kernel: see
http://opensolaris.org/os/licensing/opensolaris_license/
Oct 17 23:51:13 kernel: KLD dtrace.ko: depends on cyclic - not available
Oct 17 23:51:13 kernel: This module (opensolaris) contains code covered by
the
Oct 17 23:51:13 kernel: Common Development and Distribution License (CDDL)
Oct 17 23:51:13 kernel: see
http://opensolaris.org/os/licensing/opensolaris_license/
Oct 17 23:51:13 kernel: KLD profile.ko: depends on cyclic - not available
Oct 17 23:51:13 kernel: KLD dtraceall.ko: depends on profile - not available
Oct 17 23:51:13 kernel: This module (opensolaris) contains code covered by
the
Oct 17 23:51:13 kernel: Common Development and Distribution License (CDDL)
Oct 17 23:51:13 kernel: see
http://opensolaris.org/os/licensing/opensolaris_license/
Oct 17 23:51:13 kernel: KLD profile.ko: depends on cyclic - not available
Oct 17 23:51:13 kernel: KLD dtraceall.ko: depends on profile - not available
Oct 17 23:51:13 kernel: KLD dtrace_test.ko: depends on dtraceall - not
available
Oct 17 23:51:13 kernel: This module (opensolaris) contains code covered by
the
Oct 17 23:51:13 kernel: Common Development and Distribution License (CDDL)
Oct 17 23:51:13 kernel: see
http://opensolaris.org/os/licensing/opensolaris_license/
Oct 17 23:51:13 kernel: KLD profile.ko: depends on cyclic - not available
Oct 17 23:51:13 kernel: This module (opensolaris) contains code covered by
the
Oct 17 23:51:13 kernel: Common Development and Distribution License (CDDL)
Oct 17 23:51:13 kernel: see
http://opensolaris.org/os/licensing/opensolaris_license/
Oct 17 23:51:13 kernel: KLD dtrace.ko: depends on cyclic - not available
Oct 17 23:51:13 kernel: KLD prototype.ko: depends on dtrace - not available
Oct 17 23:51:13 kernel: This module (opensolaris) contains code covered by
the
Oct 17 23:51:13 kernel: Common Development and Distribution License (CDDL)
Oct 17 23:51:13 kernel: see
http://opensolaris.org/os/licensing/opensolaris_license/
Oct 17 23:51:13 kernel: KLD dtrace.ko: depends on cyclic - not available
Oct 17 23:51:13 kernel: KLD sdt.ko: depends on dtrace - not available
Oct 17 23:51:13 kernel: This module (opensolaris) contains code covered by
the
Oct 17 23:51:13 kernel: Common Development and Distribution License (CDDL)
Oct 17 23:51:13 kernel: see
http://opensolaris.org/os/licensing/opensolaris_license/
Oct 17 23:51:13 kernel: KLD dtrace.ko: depends on cyclic - not available
Oct 17 23:51:13 kernel: KLD systrace.ko: depends on dtrace - not available
Oct 17 23:51:13 kernel: This module (opensolaris) contains code covered by
the
Oct 17 23:51:13 kernel: Common Development and Distribution License (CDDL)
Oct 17 23:51:13 kernel: see
http://opensolaris.org/os/licensing/opensolaris_license/
Oct 17 23:51:13 kernel: KLD dtrace.ko: depends on cyclic - not available
Oct 17 23:51:13 kernel: KLD fbt.ko: depends on dtrace - not available
Oct 17 23:51:13 kernel: KLD if_en.ko: depends on utopia - not available
Oct 17 23:51:13 kernel: KLD if_fatm.ko: depends on utopia - not available
Oct 17 23:51:15 kernel: KLD if_hatm.ko: depends on atm - not available
Oct 17 23:51:15 kernel: module_register_init: MOD_LOAD (hwpmc,
0xffffffff804f2440, 0xffffffff80fffce0) error 78
Oct 17 23:51:15 kernel: ichsmb0: <SMBus controller> port
0x2900-0x293f,0x2d00-0x2d3f,0x2e00-0x2e3f irq 21 at device 10.1 on pci0
Oct 17 23:51:15 kernel: ichsmb0: [ITHREAD]
Oct 17 23:51:15 kernel: smbus0: <System Management Bus> on ichsmb0
Oct 17 23:51:16 kernel: smb0: <SMBus generic I/O> on smbus0
Oct 17 23:51:16 kernel: ichwd module loaded
Oct 17 23:51:16 kernel: ppc0: cannot reserve I/O port range
Oct 17 23:51:16 kernel: nfe1f0: Ethernet address: 00:22:15:20:66:1b
Oct 17 23:51:16 kernel: nfe1f1: Ethernet address: 00:22:15:20:66:1b
Oct 17 23:51:16 kernel: nfe1f2: Ethernet address: 00:22:15:20:66:1b
Oct 17 23:51:16 kernel: nfe1f3: Ethernet address: 00:22:15:20:66:1b
Oct 17 23:51:16 kernel: nfe0f0: Ethernet address: 00:22:15:20:63:bc
Oct 17 23:51:16 kernel: nfe0f1: Ethernet address: 00:22:15:20:63:bc
Oct 17 23:51:16 kernel: nfe0f2: Ethernet address: 00:22:15:20:63:bc
Oct 17 23:51:16 kernel: nfe0f3: Ethernet address: 00:22:15:20:63:bc
Oct 17 23:51:16 kernel: IP Filter: v4.1.28 initialized. Default = pass all,
Logging = enabled
Oct 17 23:51:16 kernel: ppc0: cannot reserve I/O port range
Oct 17 23:51:17 kernel: module_register_init: MOD_LOAD (ipw_bss_fw,
0xffffffff810a7000, 0) error 1
Oct 17 23:51:17 kernel: module_register_init: MOD_LOAD (ipw_ibss_fw,
0xffffffff810db000, 0) error 1
Oct 17 23:51:17 kernel: module_register_init: MOD_LOAD (ipw_monitor_fw,
0xffffffff8110d000, 0) error 1
Oct 17 23:51:17 kernel: registered firmware set <isp_1040>
Oct 17 23:51:17 kernel: registered firmware set <isp_1040_it>
Oct 17 23:51:17 kernel: registered firmware set <isp_1080>
Oct 17 23:51:17 kernel: registered firmware set <isp_1080_it>
Oct 17 23:51:17 kernel: registered firmware set <isp_12160>
Oct 17 23:51:17 kernel: registered firmware set <isp_12160_it>
Oct 17 23:51:17 kernel: registered firmware set <isp_2100>
Oct 17 23:51:17 kernel: registered firmware set <isp_2200>
Oct 17 23:51:17 kernel: registered firmware set <isp_2300>
Oct 17 23:51:17 kernel: registered firmware set <isp_2322>
Oct 17 23:51:17 kernel: registered firmware set <isp_2400>
Oct 17 23:51:17 kernel: unable to register firmware 'isp_1040'
Oct 17 23:51:17 kernel: unable to register firmware 'isp_1040_it'
Oct 17 23:51:17 kernel: unable to register firmware 'isp_1080'
Oct 17 23:51:17 kernel: unable to register firmware 'isp_1080_it'
Oct 17 23:51:17 kernel: unable to register firmware 'isp_12160'
Oct 17 23:51:17 kernel: unable to register firmware 'isp_12160_it'
Oct 17 23:51:17 kernel: unable to register firmware 'isp_2100'
Oct 17 23:51:17 kernel: unable to register firmware 'isp_2200'
Oct 17 23:51:17 kernel: unable to register firmware 'isp_2300'
Oct 17 23:51:17 kernel: unable to register firmware 'isp_2322'
Oct 17 23:51:17 kernel: unable to register firmware 'isp_2400'
Oct 17 23:51:17 kernel: module_register_init: MOD_LOAD (iwnfw_fw,
0xffffffff812d4000, 0) error 1
Oct 17 23:51:17 kernel: ppc0: cannot reserve I/O port range
Oct 17 23:51:18 kernel: KLD mac_biba.ko: depends on kernel_mac_support - not
available
Oct 17 23:51:18 kernel: KLD mac_bsdextended.ko: depends on
kernel_mac_support - not available
Oct 17 23:51:18 kernel: KLD mac_ifoff.ko: depends on kernel_mac_support - not
available
Oct 17 23:51:18 kernel: KLD mac_lomac.ko: depends on kernel_mac_support - not
available
Oct 17 23:51:18 kernel: KLD mac_mls.ko: depends on kernel_mac_support - not
available
Oct 17 23:51:18 kernel: KLD mac_none.ko: depends on kernel_mac_support - not
available
Oct 17 23:51:18 kernel: KLD mac_partition.ko: depends on kernel_mac_support -
not available
Oct 17 23:51:18 kernel: KLD mac_portacl.ko: depends on kernel_mac_support -
not available
Oct 17 23:51:18 kernel: KLD mac_seeotheruids.ko: depends on
kernel_mac_support - not available
Oct 17 23:51:18 kernel: KLD mac_stub.ko: depends on kernel_mac_support - not
available
Oct 17 23:51:18 kernel: KLD mac_test.ko: depends on kernel_mac_support - not
available
Oct 17 23:51:18 kernel: KLD if_malo.ko: depends on malofw_fw - not available
Oct 17 23:51:18 kernel: ppc0: cannot reserve I/O port range
Oct 17 23:51:19 kernel: WARNING: attempt to net_add_domain(bluetooth) after
domainfinalize()
Oct 17 23:51:19 kernel: WARNING: attempt to net_add_domain(netgraph) after
domainfinalize()
Oct 17 23:51:20 kernel: This module (opensolaris) contains code covered by
the
Oct 17 23:51:20 kernel: Common Development and Distribution License (CDDL)
Oct 17 23:51:20 kernel: see
http://opensolaris.org/os/licensing/opensolaris_license/
Oct 17 23:51:20 kernel: KLD if_patm.ko: depends on atm - not available
Oct 17 23:51:20 kernel: ppc0: cannot reserve I/O port range
Oct 17 23:51:21 kernel: netsmb_dev: loaded
Oct 17 23:51:21 kernel: ppc0: cannot reserve I/O port range
Oct 17 23:51:22 last message repeated 2 times
Oct 17 23:51:22 kernel: hdac0: <NVidia MCP55 High Definition Audio
Controller> mem 0xf9ef0000-0xf9ef3fff irq 21 at device 15.1 on pci0
Oct 17 23:51:22 kernel: hdac0: <HDA Driver Revision: 20081013_0113>
Oct 17 23:51:22 kernel: hdac0: [ITHREAD]
Oct 17 23:51:22 kernel: hdac0: <HDA Codec #0: Analog Devices AD1988B>
Oct 17 23:51:22 kernel: pcm0: <HDA codec #0 Analog Devices AD1988B PCM #0> on
hdac0
Oct 17 23:51:22 kernel: pcm1: <HDA codec #0 Analog Devices AD1988B PCM #1> on
hdac0
Oct 17 23:51:22 kernel: pcm2: <HDA codec #0 Analog Devices AD1988B PCM #2> on
hdac0
Oct 17 23:51:24 kernel: ppc0: cannot reserve I/O port range
Oct 17 23:51:24 last message repeated 2 times
Oct 17 23:51:25 kernel: dragon_saver: the console does not support
M_VGA_CG320
Oct 17 23:51:25 kernel: module_register_init: MOD_LOAD (dragon_saver,
0xffffffff81637140, 0) error 19
Oct 17 23:51:25 kernel: fire_saver: the console does not support M_VGA_CG320
Oct 17 23:51:25 kernel: module_register_init: MOD_LOAD (fire_saver,
0xffffffff81639000, 0) error 19
Oct 17 23:51:25 kernel: logo_saver: the console does not support M_VGA_CG320
Oct 17 23:51:25 kernel: module_register_init: MOD_LOAD (logo_saver,
0xffffffff8163b010, 0) error 19
Oct 17 23:51:25 kernel: rain_saver: the console does not support M_VGA_CG320
Oct 17 23:51:25 kernel: module_register_init: MOD_LOAD (rain_saver,
0xffffffff8163e010, 0) error 19
Oct 17 23:51:25 kernel: warp_saver: the console does not support M_VGA_CG320
Oct 17 23:51:25 kernel: module_register_init: MOD_LOAD (warp_saver,
0xffffffff81641270, 0) error 19
Oct 17 23:51:26 kernel: KLD if_upgt.ko: depends on upgtfw_fw - not available
Oct 17 23:51:26 kernel: wlan: mac acl policy registered
}
from which I get following useful and working devices for generate my custom
kernels:
--
device ichwd
device smb
device smbus
device ichsmb
device cd
device acpi_aiboost
device crypto
device cryptodev
--
My question: what the "official" FreeBSD-way for the approach similar
operations?
More information about the freebsd-questions
mailing list