[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#633460: pu: package freebsd-utils/8.1-4+squeeze1



Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: pu

devd, the device state change daemon (similar to udev on Linux) was shipped in
squeeze without its corresponding config file and init.d script, which makes
it practically useless.  This was reported (and fixed) as bug #630614 in sid.

I'm proposing a backport of this fix, see attached diff.

-- System Information:
Debian Release: 6.0.2
  APT prefers stable
  APT policy: (500, 'stable')
Architecture: kfreebsd-amd64 (x86_64)

Kernel: kFreeBSD 8.1-1-amd64
Locale: LANG=ca_AD.UTF-8, LC_CTYPE=ca_AD.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Index: debian/patches/series
===================================================================
--- debian/patches/series	(revision 3528)
+++ debian/patches/series	(working copy)
@@ -27,4 +27,5 @@
 028_vidcontrol.diff
 029_arp.diff
 030_arp_libbsd.diff
+031_devd_config.diff
 #032_delete_key.diff
Index: debian/patches/031_devd_config.diff
===================================================================
--- debian/patches/031_devd_config.diff	(revision 0)
+++ debian/patches/031_devd_config.diff	(revision 0)
@@ -0,0 +1,61 @@
+--- /dev/null
++++ b/etc/devd.conf
+@@ -0,0 +1,58 @@
++# Refer to devd.conf(5) and devd(8) man pages for the details on how to
++# run and configure devd.
++
++# NB: All regular expressions have an implicit ^$ around them.
++# NB: device-name is shorthand for 'match device-name'
++
++options {
++	# Each directory directive adds a directory the list of directories
++	# that we scan for files.  Files are read-in in the order that they
++	# are returned from readdir(3).  The rule-sets are combined to
++	# create a DFA that's used to match events to actions.
++	directory "/etc/devd";
++	pid-file "/var/run/devd.pid";
++};
++
++# Note that the attach/detach with the highest value wins, so that one can
++# override these general rules.
++
++# Notify all users before beginning emergency shutdown when we get
++# a _CRT or _HOT thermal event and we're going to power down the system
++# very soon.
++notify 10 {
++	match "system"		"ACPI";
++	match "subsystem"	"Thermal";
++	match "notify"		"0xcc";
++	action "logger -p kern.emerg 'WARNING: system temperature too high, shutting down soon!'";
++};
++
++# Sample ZFS problem reports handling.
++notify 10 {
++	match "system"		"ZFS";
++	match "type"		"zpool";
++	action "logger -p kern.err 'ZFS: failed to load zpool $pool'";
++};
++
++notify 10 {
++	match "system"		"ZFS";
++	match "type"		"vdev";
++	action "logger -p kern.err 'ZFS: vdev failure, zpool=$pool type=$type'";
++};
++
++notify 10 {
++	match "system"		"ZFS";
++	match "type"		"data";
++	action "logger -p kern.warn 'ZFS: zpool I/O failure, zpool=$pool error=$zio_err'";
++};
++
++notify 10 {
++	match "system"		"ZFS";
++	match "type"		"io";
++	action "logger -p kern.warn 'ZFS: vdev I/O failure, zpool=$pool path=$vdev_path offset=$zio_offset size=$zio_size error=$zio_err'";
++};
++
++notify 10 {
++	match "system"		"ZFS";
++	match "type"		"checksum";
++	action "logger -p kern.warn 'ZFS: checksum mismatch, zpool=$pool path=$vdev_path offset=$zio_offset size=$zio_size'";
++};
Index: debian/local/devd/pci.conf
===================================================================
--- debian/local/devd/pci.conf	(revision 0)
+++ debian/local/devd/pci.conf	(revision 0)
@@ -0,0 +1,1266 @@
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x4005";
+	match "device" "0x4000";
+	action "kldload snd_als4000";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x13f6";
+	match "device" "0x0100";
+	action "kldload snd_cmi";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x13f6";
+	match "device" "0x0101";
+	action "kldload snd_cmi";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x13f6";
+	match "device" "0x0111";
+	action "kldload snd_cmi";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x13f6";
+	match "device" "0x0112";
+	action "kldload snd_cmi";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x0d8c";
+	match "device" "0x0103";
+	action "kldload snd_cmi";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1013";
+	match "device" "0x6005";
+	action "kldload snd_cs4281";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1013";
+	match "device" "0x6001";
+	action "kldload snd_csa";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1013";
+	match "device" "0x6003";
+	action "kldload snd_csa";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1013";
+	match "device" "0x6004";
+	action "kldload snd_csa";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1073";
+	match "device" "0x0004";
+	action "kldload snd_ds1";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1073";
+	match "device" "0x000d";
+	action "kldload snd_ds1";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1073";
+	match "device" "0x0005";
+	action "kldload snd_ds1";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1073";
+	match "device" "0x0008";
+	action "kldload snd_ds1";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1073";
+	match "device" "0x0020";
+	action "kldload snd_ds1";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1073";
+	match "device" "0x0006";
+	action "kldload snd_ds1";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1073";
+	match "device" "0x000a";
+	action "kldload snd_ds1";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1073";
+	match "device" "0x000c";
+	action "kldload snd_ds1";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1073";
+	match "device" "0x0010";
+	action "kldload snd_ds1";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1073";
+	match "device" "0x0012";
+	action "kldload snd_ds1";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1102";
+	match "device" "0x0002";
+	action "kldload snd_emu10k1";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1102";
+	match "device" "0x0004";
+	action "kldload snd_emu10k1";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1102";
+	match "device" "0x0008";
+	action "kldload snd_emu10k1";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1274";
+	match "device" "0x5000";
+	action "kldload snd_es137x";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1274";
+	match "device" "0x1371";
+	action "kldload snd_es137x";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x3274";
+	match "device" "0x1371";
+	action "kldload snd_es137x";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1274";
+	match "device" "0x5880";
+	action "kldload snd_es137x";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1102";
+	match "device" "0x8938";
+	action "kldload snd_es137x";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1319";
+	match "device" "0x0801";
+	action "kldload snd_fm801";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1319";
+	match "device" "0x0802";
+	action "kldload snd_fm801";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x8086";
+	match "device" "0x1c20";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x8086";
+	match "device" "0x1d20";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x8086";
+	match "device" "0x2668";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x8086";
+	match "device" "0x269a";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x8086";
+	match "device" "0x27d8";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x8086";
+	match "device" "0x284b";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x8086";
+	match "device" "0x293e";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x8086";
+	match "device" "0x3a3e";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x8086";
+	match "device" "0x3a6e";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x8086";
+	match "device" "0x3b56";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x8086";
+	match "device" "0x3b57";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x8086";
+	match "device" "0x811b";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x8086";
+	match "device" "0xffff";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x10de";
+	match "device" "0x026c";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x10de";
+	match "device" "0x0371";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x10de";
+	match "device" "0x03e4";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x10de";
+	match "device" "0x03f0";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x10de";
+	match "device" "0x044a";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x10de";
+	match "device" "0x044b";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x10de";
+	match "device" "0x055c";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x10de";
+	match "device" "0x055d";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x10de";
+	match "device" "0x0774";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x10de";
+	match "device" "0x0775";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x10de";
+	match "device" "0x0776";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x10de";
+	match "device" "0x0777";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x10de";
+	match "device" "0x07fc";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x10de";
+	match "device" "0x07fd";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x10de";
+	match "device" "0x0ac0";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x10de";
+	match "device" "0x0ac1";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x10de";
+	match "device" "0x0ac2";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x10de";
+	match "device" "0x0ac3";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x10de";
+	match "device" "0x0d94";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x10de";
+	match "device" "0x0d95";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x10de";
+	match "device" "0x0d96";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x10de";
+	match "device" "0x0d97";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x10de";
+	match "device" "0xffff";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1002";
+	match "device" "0x437b";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1002";
+	match "device" "0x4383";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1002";
+	match "device" "0x793b";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1002";
+	match "device" "0x7919";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1002";
+	match "device" "0x960f";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1002";
+	match "device" "0xaa00";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1002";
+	match "device" "0xaa08";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1002";
+	match "device" "0xaa10";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1002";
+	match "device" "0xaa18";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1002";
+	match "device" "0xaa20";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1002";
+	match "device" "0xaa28";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1002";
+	match "device" "0xaa30";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1002";
+	match "device" "0xaa38";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1002";
+	match "device" "0xaa40";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1002";
+	match "device" "0xaa48";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1002";
+	match "device" "0xffff";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x17f3";
+	match "device" "0x3010";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1106";
+	match "device" "0x3288";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1106";
+	match "device" "0xffff";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1039";
+	match "device" "0x7502";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1039";
+	match "device" "0xffff";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x10b9";
+	match "device" "0x5461";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x10b9";
+	match "device" "0xffff";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x8086";
+	match "device" "0xd600";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x103c";
+	match "device" "0x30b5";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x103c";
+	match "device" "0x30a2";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x103c";
+	match "device" "0x30aa";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x103c";
+	match "device" "0x30b0";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x103c";
+	match "device" "0x3013";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x103c";
+	match "device" "0x3010";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x103c";
+	match "device" "0x30a5";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x103c";
+	match "device" "0x2801";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x103c";
+	match "device" "0x2802";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x103c";
+	match "device" "0xffff";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1028";
+	match "device" "0x01f9";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1028";
+	match "device" "0x01cc";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1028";
+	match "device" "0x0227";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1028";
+	match "device" "0x0228";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1028";
+	match "device" "0x01c9";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1028";
+	match "device" "0x01d7";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1028";
+	match "device" "0x01da";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1028";
+	match "device" "0xffff";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1558";
+	match "device" "0x0900";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1558";
+	match "device" "0xffff";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1025";
+	match "device" "0x010f";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1025";
+	match "device" "0x0127";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1025";
+	match "device" "0x012f";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1025";
+	match "device" "0x0133";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1025";
+	match "device" "0x0110";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1025";
+	match "device" "0x011b";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1025";
+	match "device" "0x011f";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1025";
+	match "device" "0xffff";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1043";
+	match "device" "0x1153";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1043";
+	match "device" "0x1263";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1043";
+	match "device" "0x1263";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1043";
+	match "device" "0x1323";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1043";
+	match "device" "0x1338";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1043";
+	match "device" "0x1339";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1043";
+	match "device" "0x13c2";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1043";
+	match "device" "0x1971";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1043";
+	match "device" "0x1993";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1043";
+	match "device" "0x817f";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1043";
+	match "device" "0x81cb";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1043";
+	match "device" "0x81cb";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1043";
+	match "device" "0x81e7";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1043";
+	match "device" "0x81ec";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1043";
+	match "device" "0x8234";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x10de";
+	match "device" "0xcb84";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1043";
+	match "device" "0xffff";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1014";
+	match "device" "0x02f6";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1014";
+	match "device" "0xffff";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x17aa";
+	match "device" "0x2066";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x17aa";
+	match "device" "0x384e";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x17aa";
+	match "device" "0x1015";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x17aa";
+	match "device" "0xffff";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x144d";
+	match "device" "0xc027";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x144d";
+	match "device" "0xffff";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x161f";
+	match "device" "0x203d";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x161f";
+	match "device" "0xffff";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x106b";
+	match "device" "0x00a1";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x104d";
+	match "device" "0x81cc";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x104d";
+	match "device" "0xffff";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1854";
+	match "device" "0x0018";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1854";
+	match "device" "0xffff";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1734";
+	match "device" "0x10b8";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1734";
+	match "device" "0x10cd";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1734";
+	match "device" "0xffff";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x10cf";
+	match "device" "0x1326";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x10cf";
+	match "device" "0x142d";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x10cf";
+	match "device" "0xffff";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1179";
+	match "device" "0x0001";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1179";
+	match "device" "0xff01";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1179";
+	match "device" "0xffff";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1462";
+	match "device" "0x0349";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1462";
+	match "device" "0x034a";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1462";
+	match "device" "0xffff";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1458";
+	match "device" "0xa022";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1458";
+	match "device" "0xffff";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1584";
+	match "device" "0x9075";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1584";
+	match "device" "0x9080";
+	action "kldload snd_hda";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x125d";
+	match "device" "0x1988";
+	action "kldload snd_maestro3";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x125d";
+	match "device" "0x199a";
+	action "kldload snd_maestro3";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1285";
+	match "device" "0x0100";
+	action "kldload snd_maestro";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x125d";
+	match "device" "0x1968";
+	action "kldload snd_maestro";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x125d";
+	match "device" "0x1978";
+	action "kldload snd_maestro";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x10c8";
+	match "device" "0x8005";
+	action "kldload snd_neomagic";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x10c8";
+	match "device" "0x8006";
+	action "kldload snd_neomagic";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x125d";
+	match "device" "0x1969";
+	action "kldload snd_solo";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1023";
+	match "device" "0x2000";
+	action "kldload snd_t4dwave";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1023";
+	match "device" "0x2001";
+	action "kldload snd_t4dwave";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x10b9";
+	match "device" "0x5451";
+	action "kldload snd_t4dwave";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1039";
+	match "device" "0x7018";
+	action "kldload snd_t4dwave";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1106";
+	match "device" "0x3059";
+	action "kldload snd_via8233";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x1106";
+	match "device" "0x3058";
+	action "kldload snd_via82c686";
+};
+
+nomatch 10 {
+	match "bus" "pci[0-9]+";
+	match "vendor" "0x5333";
+	match "device" "0xca00";
+	action "kldload snd_vibes";
+};
Index: debian/local/devd/debian.conf
===================================================================
--- debian/local/devd/debian.conf	(revision 0)
+++ debian/local/devd/debian.conf	(revision 0)
@@ -0,0 +1,22 @@
+#
+# Debian-specific event handlers for devd.
+#
+
+# These events are triggered when a network device is physically
+# plugged to (or unplugged from) the system.
+#
+# If you want devd to react to network link events instead (i.e.
+# like network-manager), replace ATTACH with LINK_UP and DETACH
+# with LINK_DOWN.
+
+notify 10 {
+	match "system"          "IFNET";
+	match "type"            "ATTACH";
+	action "ifup --allow=hotplug $subsystem";
+};
+
+notify 10 {
+	match "system"          "IFNET";
+	match "type"            "DETACH";
+	action "ifdown --allow=hotplug $subsystem";
+};
Index: debian/local/devd/usb.conf
===================================================================
--- debian/local/devd/usb.conf	(revision 0)
+++ debian/local/devd/usb.conf	(revision 0)
@@ -0,0 +1,2791 @@
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "intclass" "0x01";
+	action "kldload snd_uaudio";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "intclass" "0x02";
+	match "intsubclass" "0x02";
+	action "kldload umodem";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "intclass" "0x03";
+	action "kldload uhid";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "intclass" "0x07";
+	action "kldload ulpt";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "intclass" "0x08";
+	action "kldload umass";
+};
+
+/* the Xbox 360 gamepad doesn't use the HID class */
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "intclass" "0xff";
+	match "intsubclass" "0x5d";
+	match "intprotocol" "0x01";
+	action "kldload uhid";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0506";
+	match "product" "0x4601";
+	action "kldload if_aue";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x07b8";
+	match "product" "(0x4003|0x4002|0x110c|0xabc1|0x200c|0x4004|0x4007|0x400b|0x400c|0x4102|0x4104)";
+	action "kldload if_aue";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x083a";
+	match "product" "(0x5046|0x1046)";
+	action "kldload if_aue";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x07a6";
+	match "product" "(0x0986|0x8511|0x8513|0x8515|0x07c2)";
+	action "kldload if_aue";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x3334";
+	match "product" "0x1701";
+	action "kldload if_aue";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x07c9";
+	match "product" "0xb100";
+	action "kldload if_aue";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0557";
+	match "product" "0x2007";
+	action "kldload if_aue";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x050d";
+	match "product" "0x0121";
+	action "kldload if_aue";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x08dd";
+	match "product" "(0x0986|0x8511|0x0988|0x0987)";
+	action "kldload if_aue";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x07aa";
+	match "product" "(0x0004|0x000d)";
+	action "kldload if_aue";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x2001";
+	match "product" "(0xabc1|0x4002|0x4001|0x4102|0x400b|0x200c|0x4003)";
+	action "kldload if_aue";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0db7";
+	match "product" "0x0002";
+	action "kldload if_aue";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x056e";
+	match "product" "(0x4010|0x4005|0x200c|0x4002|0x400b|0xabc1)";
+	action "kldload if_aue";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x05cc";
+	match "product" "0x3000";
+	action "kldload if_aue";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x1044";
+	match "product" "0x8002";
+	action "kldload if_aue";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0e66";
+	match "product" "0x400c";
+	action "kldload if_aue";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x03f0";
+	match "product" "0x811c";
+	action "kldload if_aue";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x04bb";
+	match "product" "(0x0904|0x0913)";
+	action "kldload if_aue";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0951";
+	match "product" "0x000a";
+	action "kldload if_aue";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x066b";
+	match "product" "(0x2204|0x2203|0x2202|0x2206|0x200c|0x400b)";
+	action "kldload if_aue";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0411";
+	match "product" "(0x0009|0x0001|0x0005)";
+	action "kldload if_aue";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x045e";
+	match "product" "0x007a";
+	action "kldload if_aue";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0846";
+	match "product" "0x1020";
+	action "kldload if_aue";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x067c";
+	match "product" "0x1001";
+	action "kldload if_aue";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0b39";
+	match "product" "0x0109";
+	action "kldload if_aue";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x08d1";
+	match "product" "0x0003";
+	action "kldload if_aue";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0707";
+	match "product" "(0x0200|0x0201)";
+	action "kldload if_aue";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x15e8";
+	match "product" "(0x9100|0x9110)";
+	action "kldload if_aue";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x07b8";
+	match "product" "0x420a";
+	action "kldload if_axe";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x1189";
+	match "product" "0x0893";
+	action "kldload if_axe";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x05ac";
+	match "product" "0x1402";
+	action "kldload if_axe";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0b95";
+	match "product" "(0x1720|0x1780|0x7720|0x772a|0x2009)";
+	action "kldload if_axe";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x050d";
+	match "product" "0x5055";
+	action "kldload if_axe";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x08dd";
+	match "product" "0x90ff";
+	action "kldload if_axe";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0402";
+	match "product" "0x5632";
+	action "kldload if_cdce";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0bb2";
+	match "product" "0x6098";
+	action "kldload if_cdce";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x049f";
+	match "product" "0x505a";
+	action "kldload if_cdce";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0e7e";
+	match "product" "0x1001";
+	action "kldload if_cdce";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x22b8";
+	match "product" "(0x600c|0x6027)";
+	action "kldload if_cdce";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0525";
+	match "product" "0xa4a2";
+	action "kldload if_cdce";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x067b";
+	match "product" "0x2501";
+	action "kldload if_cdce";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x04dd";
+	match "product" "(0x8004|0x8006|0x8005|0x8007|0x9031)";
+	action "kldload if_cdce";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0423";
+	match "product" "(0x000a|0x000c)";
+	action "kldload if_cue";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x08d1";
+	match "product" "0x0001";
+	action "kldload if_cue";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x05ac";
+	match "product" "(0x1290|0x1292|0x1294|0x1297)";
+	action "kldload if_ipheth";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0506";
+	match "product" "(0x03e8|0x11f8)";
+	action "kldload if_kue";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x07b8";
+	match "product" "0x4000";
+	action "kldload if_kue";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x06e1";
+	match "product" "(0x0008|0x0009)";
+	action "kldload if_kue";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x03e8";
+	match "product" "0x0008";
+	action "kldload if_kue";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x10bd";
+	match "product" "0x1427";
+	action "kldload if_kue";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0557";
+	match "product" "(0x4000|0x2002)";
+	action "kldload if_kue";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x07aa";
+	match "product" "0x0001";
+	action "kldload if_kue";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x2001";
+	match "product" "0x4000";
+	action "kldload if_kue";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x1645";
+	match "product" "(0x0005|0x0008|0x8005)";
+	action "kldload if_kue";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x04bb";
+	match "product" "0x0901";
+	action "kldload if_kue";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x087d";
+	match "product" "0x5704";
+	action "kldload if_kue";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0951";
+	match "product" "0x0008";
+	action "kldload if_kue";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x05e9";
+	match "product" "(0x0008|0x0009)";
+	action "kldload if_kue";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x066b";
+	match "product" "0x2202";
+	action "kldload if_kue";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x1342";
+	match "product" "0x0204";
+	action "kldload if_kue";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0846";
+	match "product" "(0x1001|0x1002)";
+	action "kldload if_kue";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0565";
+	match "product" "(0x0002|0x0005|0x0003)";
+	action "kldload if_kue";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x085a";
+	match "product" "(0x0008|0x0009)";
+	action "kldload if_kue";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x095a";
+	match "product" "0x3003";
+	action "kldload if_kue";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x13d2";
+	match "product" "0x0400";
+	action "kldload if_kue";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x1485";
+	match "product" "(0x0002|0x0001)";
+	action "kldload if_kue";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0707";
+	match "product" "0x0100";
+	action "kldload if_kue";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x9710";
+	match "product" "(0x7730|0x7830)";
+	action "kldload if_mos";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0df6";
+	match "product" "0x0021";
+	action "kldload if_mos";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0411";
+	match "product" "0x0012";
+	action "kldload if_rue";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0bda";
+	match "product" "0x8150";
+	action "kldload if_rue";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x1557";
+	match "product" "0x8150";
+	action "kldload if_rue";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x07b8";
+	match "product" "(0xb21b|0xb21c|0xb21d|0xb21e|0xb21f)";
+	action "kldload if_rum";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x18c5";
+	match "product" "0x0002";
+	action "kldload if_rum";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0b05";
+	match "product" "(0x1723|0x1724)";
+	action "kldload if_rum";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x050d";
+	match "product" "(0x705a|0x905b)";
+	action "kldload if_rum";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x13b1";
+	match "product" "(0x0020|0x0023)";
+	action "kldload if_rum";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x14b2";
+	match "product" "0x3c22";
+	action "kldload if_rum";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x07aa";
+	match "product" "(0x002d|0x002e)";
+	action "kldload if_rum";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x1371";
+	match "product" "(0x9032|0x9022)";
+	action "kldload if_rum";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x7392";
+	match "product" "0x7318";
+	action "kldload if_rum";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x07d1";
+	match "product" "(0x3c03|0x3c04|0x3c06|0x3c07)";
+	action "kldload if_rum";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x1044";
+	match "product" "(0x8008|0x800a)";
+	action "kldload if_rum";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x1690";
+	match "product" "0x0722";
+	action "kldload if_rum";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x1631";
+	match "product" "0xc019";
+	action "kldload if_rum";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x06f8";
+	match "product" "(0xe010|0xe020)";
+	action "kldload if_rum";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x1472";
+	match "product" "0x0009";
+	action "kldload if_rum";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0411";
+	match "product" "(0x00d9|0x00d8|0x0137|0x0116|0x0119)";
+	action "kldload if_rum";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0db0";
+	match "product" "(0x6874|0x6877|0xa861|0xa874)";
+	action "kldload if_rum";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0eb0";
+	match "product" "0x9021";
+	action "kldload if_rum";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x2019";
+	match "product" "(0xab01|0xab50|0xed02)";
+	action "kldload if_rum";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x18e8";
+	match "product" "(0x6196|0x6229|0x6238)";
+	action "kldload if_rum";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x148f";
+	match "product" "(0x2573|0x9021|0x2671)";
+	action "kldload if_rum";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0df6";
+	match "product" "(0x9712|0x90ac)";
+	action "kldload if_rum";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x15a9";
+	match "product" "0x0004";
+	action "kldload if_rum";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0769";
+	match "product" "0x31f3";
+	action "kldload if_rum";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x07b8";
+	match "product" "(0x2770|0x2870|0x3070|0x3071|0x3072)";
+	action "kldload if_run";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x1482";
+	match "product" "0x3c09";
+	action "kldload if_run";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x083a";
+	match "product" "(0x7512|0xb522|0x6618|0x7522|0xa618|0x8522|0x7511|0xa701|0xa702|0xc522|0xa512|0xd522)";
+	action "kldload if_run";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x1eda";
+	match "product" "0x2310";
+	action "kldload if_run";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x8516";
+	match "product" "(0x2070|0x2770|0x2870|0x3070|0x3071|0x3072|0x3572)";
+	action "kldload if_run";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0e0b";
+	match "product" "(0x9031|0x9041)";
+	action "kldload if_run";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x18c5";
+	match "product" "(0x0008|0x0012)";
+	action "kldload if_run";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x15c5";
+	match "product" "0x0008";
+	action "kldload if_run";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0b05";
+	match "product" "(0x1731|0x1732|0x1742|0x1760|0x1761|0x1784|0x1790)";
+	action "kldload if_run";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x1761";
+	match "product" "0x0b05";
+	action "kldload if_run";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x13d3";
+	match "product" "(0x3247|0x3262|0x3273|0x3284|0x3305)";
+	action "kldload if_run";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x050d";
+	match "product" "(0x815c|0x825a|0x935a|0x8053|0x805c)";
+	action "kldload if_run";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x167b";
+	match "product" "0x4001";
+	action "kldload if_run";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x05a6";
+	match "product" "0x0101";
+	action "kldload if_run";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x14b2";
+	match "product" "(0x3c06|0x3c07|0x3c23|0x3c25|0x3c27|0x3c28|0x3c09|0x3c12|0x3c08|0x3c11|0x3c25)";
+	action "kldload if_run";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x07aa";
+	match "product" "(0x0042|0x002f|0x003c|0x003f|0x0041)";
+	action "kldload if_run";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x129b";
+	match "product" "0x1828";
+	action "kldload if_run";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x2001";
+	match "product" "(0x3c09|0x3c0a)";
+	action "kldload if_run";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x07d1";
+	match "product" "(0x3c13|0x3c09|0x3c11|0x3c0d|0x3c0e|0x3c0f|0x3c15|0x3c16|0x3c0a|0x3c0b)";
+	action "kldload if_run";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x7392";
+	match "product" "(0x7717|0x7718|0x7711)";
+	action "kldload if_run";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x203d";
+	match "product" "(0x1480|0x14a1|0x14a9)";
+	action "kldload if_run";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x1044";
+	match "product" "(0x800c|0x800d|0x800b)";
+	action "kldload if_run";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x1690";
+	match "product" "(0x0740|0x0744)";
+	action "kldload if_run";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x06f8";
+	match "product" "0xe030";
+	action "kldload if_run";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0e66";
+	match "product" "(0x0009|0x0001|0x0003|0x000b)";
+	action "kldload if_run";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x04bb";
+	match "product" "(0x0944|0x0945|0x0947|0x0948)";
+	action "kldload if_run";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x1737";
+	match "product" "(0x0078|0x0070|0x0077|0x0071|0x0079)";
+	action "kldload if_run";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0789";
+	match "product" "(0x0162|0x0163|0x0164)";
+	action "kldload if_run";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0411";
+	match "product" "(0x0148|0x0150|0x012e|0x00e8|0x016f|0x015d)";
+	action "kldload if_run";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x100d";
+	match "product" "(0x9031|0x9032)";
+	action "kldload if_run";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0db0";
+	match "product" "(0x3820|0x3821|0x3870|0x6899|0x821a|0x870a|0x899a|0x3822|0x3871|0x822a|0x871a)";
+	action "kldload if_run";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x1b75";
+	match "product" "0x3072";
+	action "kldload if_run";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x20b8";
+	match "product" "0x8888";
+	action "kldload if_run";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x1d4d";
+	match "product" "(0x0002|0x000c|0x000e|0x0010)";
+	action "kldload if_run";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0471";
+	match "product" "0x200f";
+	action "kldload if_run";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x2019";
+	match "product" "(0xab24|0xed14|0xed06|0xab25)";
+	action "kldload if_run";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x18e8";
+	match "product" "0x6259";
+	action "kldload if_run";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0408";
+	match "product" "0x0304";
+	action "kldload if_run";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x148f";
+	match "product" "(0x2070|0x2770|0x2870|0x3070|0x3071|0x3072|0x3370|0x3572|0x8070)";
+	action "kldload if_run";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x055d";
+	match "product" "0x2018";
+	action "kldload if_run";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x1740";
+	match "product" "(0x9701|0x9702|0x0605|0x0615|0x9703|0x9705|0x9706|0x9707|0x9708|0x9709|0x9801)";
+	action "kldload if_run";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0df6";
+	match "product" "(0x0039|0x0017|0x002b|0x002c|0x002d|0x003e|0x003b|0x003c|0x003d|0x0040|0x0041|0x0042|0x0047|0x0048|0x004a|0x004d|0x003f)";
+	action "kldload if_run";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x15a9";
+	match "product" "(0x0006|0x0010)";
+	action "kldload if_run";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x177f";
+	match "product" "(0x0153|0x0302|0x0313)";
+	action "kldload if_run";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0930";
+	match "product" "0x0a07";
+	action "kldload if_run";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x157e";
+	match "product" "0x300e";
+	action "kldload if_run";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0cde";
+	match "product" "(0x0022|0x0025)";
+	action "kldload if_run";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x5a57";
+	match "product" "(0x0280|0x0282|0x5257|0x0283|0x0284)";
+	action "kldload if_run";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0586";
+	match "product" "(0x3416|0x341a)";
+	action "kldload if_run";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x083a";
+	match "product" "(0x4506|0x4508)";
+	action "kldload if_uath";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x168c";
+	match "product" "0x0001";
+	action "kldload if_uath";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0cf3";
+	match "product" "(0x0001|0x0003|0x0005)";
+	action "kldload if_uath";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0d8e";
+	match "product" "(0x7801|0x7811)";
+	action "kldload if_uath";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x2001";
+	match "product" "(0x3a04|0x3a00|0x3a02)";
+	action "kldload if_uath";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x07d1";
+	match "product" "0x3a0c";
+	action "kldload if_uath";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x1690";
+	match "product" "(0x0712|0x0710)";
+	action "kldload if_uath";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x16ab";
+	match "product" "(0x7801|0x7811)";
+	action "kldload if_uath";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0846";
+	match "product" "0x4300";
+	action "kldload if_uath";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x1385";
+	match "product" "(0x4250|0x5f00|0x5f02)";
+	action "kldload if_uath";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x157e";
+	match "product" "(0x3006|0x3205)";
+	action "kldload if_uath";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x1435";
+	match "product" "(0x0826|0x082a)";
+	action "kldload if_uath";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0cde";
+	match "product" "0x0012";
+	action "kldload if_uath";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0a46";
+	match "product" "(0x9601|0x0268|0x8515)";
+	action "kldload if_udav";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x07aa";
+	match "product" "0x9601";
+	action "kldload if_udav";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0fe6";
+	match "product" "(0x8101|0x9700)";
+	action "kldload if_udav";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x083a";
+	match "product" "0x4521";
+	action "kldload if_upgt";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x050d";
+	match "product" "0x7050";
+	action "kldload if_upgt";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x13b1";
+	match "product" "0x000c";
+	action "kldload if_upgt";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0d8e";
+	match "product" "0x3762";
+	action "kldload if_upgt";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x413c";
+	match "product" "(0x8102|0x8104)";
+	action "kldload if_upgt";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0bf8";
+	match "product" "0x1009";
+	action "kldload if_upgt";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0915";
+	match "product" "(0x2000|0x2002)";
+	action "kldload if_upgt";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0846";
+	match "product" "0x4240";
+	action "kldload if_upgt";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x09aa";
+	match "product" "0x1000";
+	action "kldload if_upgt";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0707";
+	match "product" "0xee13";
+	action "kldload if_upgt";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0baf";
+	match "product" "0x0118";
+	action "kldload if_upgt";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x1435";
+	match "product" "0x0427";
+	action "kldload if_upgt";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0567";
+	match "product" "(0x2000|0x2002)";
+	action "kldload if_upgt";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0cde";
+	match "product" "(0x0008|0x0015)";
+	action "kldload if_upgt";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0b05";
+	match "product" "(0x1707|0x1706)";
+	action "kldload if_ural";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x050d";
+	match "product" "(0x7050|0x7051)";
+	action "kldload if_ural";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x13b1";
+	match "product" "(0x001a|0x000d|0x0011)";
+	action "kldload if_ural";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x14b2";
+	match "product" "0x3c02";
+	action "kldload if_ural";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x2001";
+	match "product" "0x3c00";
+	action "kldload if_ural";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x1044";
+	match "product" "(0x8001|0x8007)";
+	action "kldload if_ural";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x06f8";
+	match "product" "0xe000";
+	action "kldload if_ural";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0411";
+	match "product" "(0x0066|0x0067|0x005e|0x008b)";
+	action "kldload if_ural";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0db0";
+	match "product" "(0x6861|0x6865|0x6869)";
+	action "kldload if_ural";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0eb0";
+	match "product" "0x9020";
+	action "kldload if_ural";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x148f";
+	match "product" "(0x1706|0x2570|0x9020)";
+	action "kldload if_ural";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0681";
+	match "product" "0x3c06";
+	action "kldload if_ural";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0707";
+	match "product" "0xee13";
+	action "kldload if_ural";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x114b";
+	match "product" "0x0110";
+	action "kldload if_ural";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0769";
+	match "product" "0x11f3";
+	action "kldload if_ural";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0f88";
+	match "product" "0x3012";
+	action "kldload if_ural";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x5a57";
+	match "product" "0x0260";
+	action "kldload if_ural";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0846";
+	match "product" "(0x4260|0x6a00|0x6100)";
+	action "kldload if_urtw";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0bda";
+	match "product" "(0x8189|0x8197|0x8198|0x8187)";
+	action "kldload if_urtw";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0df6";
+	match "product" "(0x0028|0x000d)";
+	action "kldload if_urtw";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0b05";
+	match "product" "0x171d";
+	action "kldload if_urtw";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x050d";
+	match "product" "0x705e";
+	action "kldload if_urtw";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x1737";
+	match "product" "0x0073";
+	action "kldload if_urtw";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0769";
+	match "product" "0x11f2";
+	action "kldload if_urtw";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x1b75";
+	match "product" "0x8187";
+	action "kldload if_urtw";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x1371";
+	match "product" "0x9401";
+	action "kldload if_urtw";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x03f0";
+	match "product" "0xca02";
+	action "kldload if_urtw";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0789";
+	match "product" "0x010c";
+	action "kldload if_urtw";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x114b";
+	match "product" "0x0150";
+	action "kldload if_urtw";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x18e8";
+	match "product" "0x6232";
+	action "kldload if_urtw";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x6891";
+	match "product" "0xa727";
+	action "kldload if_zyd";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x07b8";
+	match "product" "0x6001";
+	action "kldload if_zyd";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0b05";
+	match "product" "0x170c";
+	action "kldload if_zyd";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x129b";
+	match "product" "0x1666";
+	action "kldload if_zyd";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0675";
+	match "product" "0x0550";
+	action "kldload if_zyd";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x2019";
+	match "product" "(0xed01|0xc007)";
+	action "kldload if_zyd";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x14ea";
+	match "product" "(0xab10|0xab13)";
+	action "kldload if_zyd";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x079b";
+	match "product" "0x004a";
+	action "kldload if_zyd";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x1740";
+	match "product" "0x2000";
+	action "kldload if_zyd";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0df6";
+	match "product" "0x9071";
+	action "kldload if_zyd";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x5173";
+	match "product" "0x1809";
+	action "kldload if_zyd";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0b3b";
+	match "product" "(0x1630|0x5630|0x6630)";
+	action "kldload if_zyd";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x126f";
+	match "product" "0xa006";
+	action "kldload if_zyd";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x157e";
+	match "product" "(0x3204|0x300a|0x300b)";
+	action "kldload if_zyd";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x1435";
+	match "product" "0x0711";
+	action "kldload if_zyd";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0cde";
+	match "product" "0x0011";
+	action "kldload if_zyd";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0ace";
+	match "product" "0x1211";
+	action "kldload if_zyd";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0586";
+	match "product" "(0x3409|0x3401|0x3407)";
+	action "kldload if_zyd";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x083a";
+	match "product" "(0x4505|0x4506|0xe501)";
+	action "kldload if_zyd";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0b05";
+	match "product" "0x171b";
+	action "kldload if_zyd";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x050d";
+	match "product" "(0x705c|0x4050)";
+	action "kldload if_zyd";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x13b1";
+	match "product" "0x0024";
+	action "kldload if_zyd";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x1582";
+	match "product" "0x6003";
+	action "kldload if_zyd";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0411";
+	match "product" "0x00da";
+	action "kldload if_zyd";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0471";
+	match "product" "0x1236";
+	action "kldload if_zyd";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x2019";
+	match "product" "0x5303";
+	action "kldload if_zyd";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x079b";
+	match "product" "0x0062";
+	action "kldload if_zyd";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0df6";
+	match "product" "0x9075";
+	action "kldload if_zyd";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x157e";
+	match "product" "0x300d";
+	action "kldload if_zyd";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0baf";
+	match "product" "0x0121";
+	action "kldload if_zyd";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0f88";
+	match "product" "0x3014";
+	action "kldload if_zyd";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0cde";
+	match "product" "0x001a";
+	action "kldload if_zyd";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0ace";
+	match "product" "0x1215";
+	action "kldload if_zyd";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0586";
+	match "product" "(0x340a|0x3410|0x340f)";
+	action "kldload if_zyd";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x04a5";
+	match "product" "0x4068";
+	action "kldload u3g";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x1011";
+	match "product" "0x3198";
+	action "kldload u3g";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0f3d";
+	match "product" "0x0112";
+	action "kldload u3g";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x1e0e";
+	match "product" "(0x9000|0x9200|0xce16)";
+	action "kldload u3g";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x1614";
+	match "product" "(0x0800|0x7002|0x0802)";
+	action "kldload u3g";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x16d5";
+	match "product" "(0x6502|0x6202|0x6501)";
+	action "kldload u3g";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x1726";
+	match "product" "0x1000";
+	action "kldload u3g";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x16d8";
+	match "product" "0x6280";
+	action "kldload u3g";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x413c";
+	match "product" "(0x8115|0x8116|0x8118|0x8136|0x8137|0x8138|0x8114|0x8117|0x8128|0x8129|0x8133|0x8134|0x8180|0x8181|0x8182|0x8135)";
+	action "kldload u3g";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x1186";
+	match "product" "0x3e04";
+	action "kldload u3g";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x03f0";
+	match "product" "(0x1b1d|0x1e1d)";
+	action "kldload u3g";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0c88";
+	match "product" "(0x17da|0x180a)";
+	action "kldload u3g";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x1c9e";
+	match "product" "0x9603";
+	action "kldload u3g";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x1416";
+	match "product" "0x1110";
+	action "kldload u3g";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x1d09";
+	match "product" "0x4000";
+	action "kldload u3g";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x1410";
+	match "product" "(0x2120|0x2100|0x2130|0x2400|0x2410|0x2420|0x6002|0x7042|0x4400|0x2110|0x4100|0x5100|0x1400|0x1410|0x1420|0x1110|0x1100|0x1130|0x1120|0x1450|0x1430)";
+	action "kldload u3g";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0af0";
+	match "product" "(0x6500|0x6501|0x6601|0x6721|0x6741|0x6761|0x6800|0x7021|0x7041|0x7061|0x7100|0x7601|0x6000|0x6600|0x6300|0x6050|0x6100|0x6150|0x6200|0x6250|0x6350|0x6971|0x7201|0x6701|0x7211|0x7001|0x6901|0x5000)";
+	action "kldload u3g";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x1da5";
+	match "product" "(0x4515|0x4519|0x4512|0x4523)";
+	action "kldload u3g";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x05c6";
+	match "product" "(0x6000|0x6613)";
+	action "kldload u3g";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x19d2";
+	match "product" "(0xfff5|0xfffe|0xfff1|0x0002|0x0003|0x0004|0x0005|0x0006|0x0007|0x0008|0x0009|0x000a|0x000b|0x000c|0x000d|0x000e|0x000f|0x0010|0x0011|0x0012|0x0013|0x0014|0x0017|0x0018|0x0019|0x0020|0x0021|0x0022|0x0023|0x0024|0x0025|0x0026|0x0027|0x0028|0x0029|0x0030|0x0032|0x0033|0x0037|0x0039|0x0042|0x0043|0x0048|0x0049|0x0051|0x0052|0x0054|0x0055|0x0057|0x0058|0x0059|0x0060|0x0061|0x0062|0x0063|0x0064|0x0066|0x0069|0x0070|0x0073|0x0076|0x0078|0x0082|0x0086|0x0117|0x2002|0x2003|0x0031|0x0015|0x0016)";
+	action "kldload u3g";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0408";
+	match "product" "(0xea05|0xea06|0xea04|0xea02|0xea03)";
+	action "kldload u3g";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x1199";
+	match "product" "(0x0027|0x0120|0x0021|0x6822|0x6812|0x6821|0x6850|0x6852|0x6855|0x6851|0x6853|0x6856|0x6859|0x685A|0x6880|0x0112|0x0019|0x6820|0x6891|0x0023|0x6890|0x0029|0x6892|0x6893|0x0017|0x0022|0x0218|0x0018|0x0020|0x0024|0x0224|0x0028|0x68A3|0x6804|0x6802|0x6813|0x6808|0x6803|0x6805|0x6809|0x6816|0x6815|0x6832|0x6834|0x6838|0x6833|0x6835|0x6839|0x683A|0x683B|0x683C|0x683D|0x683E|0x0220|0x0026|0x0025)";
+	action "kldload u3g";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x1a8d";
+	match "product" "0x1002|0x1003|0x1004|0x1005|0x1006|0x1007|0x1008|0x1009|0x100a|0x100b|0x100c|0x100d|0x100e|0x100f|0x1010|0x1011|0x1012)";
+	action "kldload u3g";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x1bbb";
+	match "product" "0x0000";
+	action "kldload u3g";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x1bc7";
+	match "product" "(0x1003|0x1004)";
+	action "kldload u3g";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x20b9";
+	match "product" "0x1682";
+	action "kldload u3g";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0930";
+	match "product" "(0x0d45|0x1302)";
+	action "kldload u3g";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0eab";
+	match "product" "0xc893";
+	action "kldload u3g";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x6547";
+	match "product" "0x0232";
+	action "kldload uark";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x16d5";
+	match "product" "(0x6502|0x6501)";
+	action "kldload ubsa";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x1726";
+	match "product" "0x1000";
+	action "kldload ubsa";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x050d";
+	match "product" "(0x0103|0x1203)";
+	action "kldload ubsa";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x056c";
+	match "product" "0x8007";
+	action "kldload ubsa";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0921";
+	match "product" "0x1001";
+	action "kldload ubsa";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0565";
+	match "product" "0x0001";
+	action "kldload ubsa";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x4348";
+	match "product" "0x5523";
+	action "kldload uchcom";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x1a86";
+	match "product" "0x7523";
+	action "kldload uchcom";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x1163";
+	match "product" "0x0100";
+	action "kldload ucycom";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0525";
+	match "product" "0x1080";
+	action "kldload udbp";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x067b";
+	match "product" "(0x0000|0x0001)";
+	action "kldload udbp";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0547";
+	match "product" "0x2720";
+	action "kldload udbp";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x05e3";
+	match "product" "0x0501";
+	action "kldload udbp";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0eef";
+	match "product" "(0x0001|0x0002)";
+	action "kldload uep";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0123";
+	match "product" "0x0002";
+	action "kldload uep";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x04b4";
+	match "product" "0x1002";
+	action "kldload ufm";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x03eb";
+	match "product" "0x2109";
+	action "kldload uftdi";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x1cf1";
+	match "product" "(0x0001|0x0004)";
+	action "kldload uftdi";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0f94";
+	match "product" "0x0001";
+	action "kldload uftdi";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0403";
+	match "product" "(0xd678|0x8372|0x6010|0x9e90|0x6011|0x6001|0x6004|0xfc82|0xfc0c|0xfc08|0xfc0b|0xfc09|0xfc0d|0xf850|0xfa00|0xe6c8|0xfa01|0xfa02|0xfa03|0xfa04|0xcc48|0xcc49|0xcc4a|0xe888|0xe889|0xe88a|0xe88b|0xe88c|0xee18|0xf60b|0xf608)";
+	action "kldload uftdi";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0b39";
+	match "product" "0x0421";
+	action "kldload uftdi";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x093c";
+	match "product" "(0x0601|0x0701)";
+	action "kldload uftdi";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0856";
+	match "product" "0xAC01";
+	action "kldload uftdi";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x1b3d";
+	match "product" "0x0153";
+	action "kldload uftdi";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x9e88";
+	match "product" "0x9e8f";
+	action "kldload uftdi";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0411";
+	match "product" "0x00b3";
+	action "kldload uftdi";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0584";
+	match "product" "0xb020";
+	action "kldload uftdi";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0f3d";
+	match "product" "0x0112";
+	action "kldload ugensa";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x16d8";
+	match "product" "0x6280";
+	action "kldload ugensa";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0c88";
+	match "product" "0x17da";
+	action "kldload ugensa";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x03f0";
+	match "product" "0x0121";
+	action "kldload ugensa";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x09d7";
+	match "product" "0x0100";
+	action "kldload ugensa";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0af0";
+	match "product" "(0x6911|0x6971|0x7251|0x7011|0x7601|0x7301|0x7361|0x7381|0x7401|0x7501|0xc031|0xd013|0xd031|0xd033|0xd055|0xd055)";
+	action "kldload uhso";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0b05";
+	match "product" "0x420f";
+	action "kldload uipaq";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x07cf";
+	match "product" "0x2002";
+	action "kldload uipaq";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x049f";
+	match "product" "0x0003";
+	action "kldload uipaq";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x03f0";
+	match "product" "(0x1016|0x1116)";
+	action "kldload uipaq";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0bb4";
+	match "product" "(0x00cf|0x0a51|0x00ce|0x0bce)";
+	action "kldload uipaq";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x04dd";
+	match "product" "(0x9123|0x91ac|0x9242)";
+	action "kldload uipaq";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0930";
+	match "product" "0x0706";
+	action "kldload uipaq";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x9710";
+	match "product" "(0x7820|0x7840)";
+	action "kldload umcs";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0711";
+	match "product" "(0x0210|0x0230|0x0200)";
+	action "kldload umct";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x050d";
+	match "product" "(0x0109|0x0409)";
+	action "kldload umct";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0482";
+	match "product" "0x0203";
+	action "kldload umodem";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x1199";
+	match "product" "0x0218";
+	action "kldload umodem";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x106c";
+	match "product" "0x3701";
+	action "kldload umodem";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x9710";
+	match "product" "0x7703";
+	action "kldload umoscom";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x04a5";
+	match "product" "0x4027";
+	action "kldload uplcom";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0b63";
+	match "product" "0x6530";
+	action "kldload uplcom";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x11f7";
+	match "product" "0x02df";
+	action "kldload uplcom";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x058f";
+	match "product" "0x9720";
+	action "kldload uplcom";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0547";
+	match "product" "0x2008";
+	action "kldload uplcom";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0557";
+	match "product" "0x2008";
+	action "kldload uplcom";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x050d";
+	match "product" "0x0257";
+	action "kldload uplcom";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x07aa";
+	match "product" "0x002a";
+	action "kldload uplcom";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x04b8";
+	match "product" "(0x0521|0x0522)";
+	action "kldload uplcom";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x056e";
+	match "product" "(0x5003|0x5004)";
+	action "kldload uplcom";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0b41";
+	match "product" "0x0011";
+	action "kldload uplcom";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x03f0";
+	match "product" "0x3524";
+	action "kldload uplcom";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x04bb";
+	match "product" "(0x0a03|0x0a0e)";
+	action "kldload uplcom";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0eba";
+	match "product" "(0x1080|0x2080)";
+	action "kldload uplcom";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0413";
+	match "product" "0x2101";
+	action "kldload uplcom";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x045e";
+	match "product" "0x0079";
+	action "kldload uplcom";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0df7";
+	match "product" "0x0620";
+	action "kldload uplcom";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x11f6";
+	match "product" "0x2001";
+	action "kldload uplcom";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x078b";
+	match "product" "0x1234";
+	action "kldload uplcom";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0ea0";
+	match "product" "0x6858";
+	action "kldload uplcom";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x04da";
+	match "product" "0x3900";
+	action "kldload uplcom";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x10b5";
+	match "product" "0xac70";
+	action "kldload uplcom";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x067b";
+	match "product" "(0x0609|0x0611|0x1234|0x331a|0x0612|0xaaa0|0x2303|0x04bb|0xaaa2|0x206a)";
+	action "kldload uplcom";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x5372";
+	match "product" "0x2303";
+	action "kldload uplcom";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x1453";
+	match "product" "0x4026";
+	action "kldload uplcom";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0584";
+	match "product" "0xb000";
+	action "kldload uplcom";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x079b";
+	match "product" "0x0027";
+	action "kldload uplcom";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x04e8";
+	match "product" "0x8001";
+	action "kldload uplcom";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x11ad";
+	match "product" "0x0701";
+	action "kldload uplcom";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x11f5";
+	match "product" "(0x0005|0x0001|0x0003|0x0004)";
+	action "kldload uplcom";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x6189";
+	match "product" "0x2068";
+	action "kldload uplcom";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0b8c";
+	match "product" "0x2303";
+	action "kldload uplcom";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x054c";
+	match "product" "0x0437";
+	action "kldload uplcom";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0731";
+	match "product" "(0x2003|0x0528)";
+	action "kldload uplcom";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0833";
+	match "product" "(0x039f|0x012e)";
+	action "kldload uplcom";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0e55";
+	match "product" "0x110b";
+	action "kldload uplcom";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0745";
+	match "product" "0x0001";
+	action "kldload uplcom";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x04bf";
+	match "product" "(0x0117|0x0115)";
+	action "kldload uplcom";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x2478";
+	match "product" "0x2008";
+	action "kldload uplcom";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x05ad";
+	match "product" "0x0fba";
+	action "kldload uplcom";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0841";
+	match "product" "0x0001";
+	action "kldload urio";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x045a";
+	match "product" "(0x5001|0x5002)";
+	action "kldload urio";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x13ad";
+	match "product" "0x9999";
+	action "kldload uslcom";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x166a";
+	match "product" "0x0303";
+	action "kldload uslcom";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0xdaae";
+	match "product" "0xead6";
+	action "kldload uslcom";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x413c";
+	match "product" "0x9500";
+	action "kldload uslcom";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x08fd";
+	match "product" "0x000a";
+	action "kldload uslcom";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0fcf";
+	match "product" "(0x1003|0x1006|0x1004)";
+	action "kldload uslcom";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x18ef";
+	match "product" "0xe00f";
+	action "kldload uslcom";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0489";
+	match "product" "(0xe003|0xe000)";
+	action "kldload uslcom";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x08e6";
+	match "product" "0x5501";
+	action "kldload uslcom";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x16d6";
+	match "product" "0x0001";
+	action "kldload uslcom";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0bed";
+	match "product" "(0x1100|0x1101)";
+	action "kldload uslcom";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x16d6";
+	match "product" "0x0001";
+	action "kldload uslcom";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x1555";
+	match "product" "0x0004";
+	action "kldload uslcom";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0471";
+	match "product" "0x066a";
+	action "kldload uslcom";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x10b5";
+	match "product" "0xac70";
+	action "kldload uslcom";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x045b";
+	match "product" "0x0053";
+	action "kldload uslcom";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x10c4";
+	match "product" "(0x81e7|0x83a8|0x8066|0x1601|0x1101|0x8115|0x818b|0x8156|0x8477|0x846e|0x800a|0x813d|0x822b|0xea60|0xea61|0x807a|0x8382|0x8044|0x826b|0x80ca|0x81f2|0x815e|0x806f|0xea71|0x81ad|0x8411|0x8218|0x81c8|0x81e2|0x8341|0x819f|0x81ac|0x803b|0x82f9|0x8043|0x80f6|0x813f|0x8293|0x80dd|0x80ed|0xf004|0xf003|0xf001|0xf002|0x0f91|0x81a6|0x814a|0x814a|0x814b|0x81e8)";
+	action "kldload uslcom";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x10a6";
+	match "product" "0xaa26";
+	action "kldload uslcom";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x10c5";
+	match "product" "0xea61";
+	action "kldload uslcom";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x10ce";
+	match "product" "0xea61";
+	action "kldload uslcom";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0745";
+	match "product" "0x1000";
+	action "kldload uslcom";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x10ab";
+	match "product" "0x10c5";
+	action "kldload uslcom";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x1843";
+	match "product" "0x0200";
+	action "kldload uslcom";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x1be3";
+	match "product" "0x07a6";
+	action "kldload uslcom";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x17f4";
+	match "product" "0xaaaa";
+	action "kldload uslcom";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x16dc";
+	match "product" "(0x0010|0x0011|0x0012|0x0015)";
+	action "kldload uslcom";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x4766";
+	match "product" "0x0001";
+	action "kldload uvisor";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x081e";
+	match "product" "0xdf00";
+	action "kldload uvisor";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x091e";
+	match "product" "0x0004";
+	action "kldload uvisor";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0e67";
+	match "product" "0x0002";
+	action "kldload uvisor";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x082d";
+	match "product" "(0x0100|0x0200|0x0300)";
+	action "kldload uvisor";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x0830";
+	match "product" "(0x0001|0x0002|0x0003|0x0020|0x0040|0x0050|0x0031|0x0060|0x0070|0x0061)";
+	action "kldload uvisor";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x04e8";
+	match "product" "0x6601";
+	action "kldload uvisor";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x054c";
+	match "product" "(0x0066|0x009a|0x0095|0x00da|0x0038|0x0169|0x0144)";
+	action "kldload uvisor";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x12ef";
+	match "product" "0x0100";
+	action "kldload uvisor";
+};
+
+nomatch 10 {
+	match "bus" "uhub[0-9]+";
+	match "vendor" "0x05db";
+	match "product" "(0x0011|0x0003|0x000a|0x0005|0x0009)";
+	action "kldload uvscom";
+};
+
Index: debian/changelog
===================================================================
--- debian/changelog	(revision 3528)
+++ debian/changelog	(working copy)
@@ -1,3 +1,9 @@
+freebsd-utils (8.1-4+squeeze1) stable; urgency=low
+
+  * Provide config files and init.d script for devd.  (Closes: #630614)
+
+ -- Robert Millan <rmh@debian.org>  Sun, 10 Jul 2011 13:19:14 +0000
+
 freebsd-utils (8.1-4) unstable; urgency=low
 
   [ Petr Salinger ]
Index: debian/rules
===================================================================
--- debian/rules	(revision 3528)
+++ debian/rules	(working copy)
@@ -31,6 +31,7 @@
 	mkdir -p $(ORIGDIR)/sys/kern $(ORIGDIR)/etc
 	for i in sbin/dmesg sbin/sysctl usr.bin/kdump usr.bin/ktrace \
 		 usr.sbin/jail bin/chflags sbin/devd usr.sbin/acpi/acpiconf \
+		 etc/devd.conf etc/devd \
 		 sbin/kldconfig sbin/kldload sbin/kldstat sbin/kldunload \
 		 usr.bin/ktrdump usr.bin/vmstat sbin/devfs sbin/fdisk \
 		 sbin/ifconfig sbin/route usr.bin/netstat usr.sbin/rpc.umntall \
@@ -229,6 +230,7 @@
 #	dh_installpam
 #	dh_installmime
 	dh_installinit -pfreebsd-utils -- start 03 S .
+	dh_installinit -pfreebsd-utils --name=devd -- start 03 S . stop 01 0 1 6 .
 	dh_installinit -pkldutils --no-start -- start 12 S .
 	dh_installinit -pkbdcontrol -- start 20 S .
 #	dh_installcron
Index: debian/freebsd-utils.devd.init
===================================================================
--- debian/freebsd-utils.devd.init	(revision 0)
+++ debian/freebsd-utils.devd.init	(revision 0)
@@ -0,0 +1,127 @@
+#!/bin/sh
+### BEGIN INIT INFO
+# Provides:		devd
+# Required-Start:	$local_fs
+# Required-Stop:	$local_fs
+# Should-Start:		$syslog
+# Should-Stop:		$syslog
+# Default-Start:	S
+# Default-Stop:		0 1 6
+# Short-Description:	device state change daemon
+### END INIT INFO
+
+PATH=/sbin:/bin
+DESC="device state change daemon"
+NAME=devd
+DAEMON=/sbin/devd
+DAEMON_ARGS=""
+PIDFILE=/var/run/$NAME.pid
+SCRIPTNAME=/etc/init.d/$NAME
+
+# Exit if the package is not installed
+[ -x $DAEMON ] || exit 0
+
+# Read configuration variable file if it is present
+[ -r /etc/default/$NAME ] && . /etc/default/$NAME
+
+# Load the VERBOSE setting and other rcS variables
+. /lib/init/vars.sh
+
+# Define LSB log_* functions.
+# Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
+. /lib/lsb/init-functions
+
+#
+# Function that starts the daemon/service
+#
+do_start()
+{
+	# Return
+	#   0 if daemon has been started
+	#   1 if daemon was already running
+	#   2 if daemon could not be started
+	start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --test > /dev/null \
+		|| return 1
+	start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \
+		$DAEMON_ARGS \
+		|| return 2
+	# Add code here, if necessary, that waits for the process to be ready
+	# to handle requests from services started subsequently which depend
+	# on this one.  As a last resort, sleep for some time.
+}
+
+#
+# Function that stops the daemon/service
+#
+do_stop()
+{
+	# Return
+	#   0 if daemon has been stopped
+	#   1 if daemon was already stopped
+	#   2 if daemon could not be stopped
+	#   other if a failure occurred
+	start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME
+	RETVAL="$?"
+	[ "$RETVAL" = 2 ] && return 2
+	# Wait for children to finish too if this is a daemon that forks
+	# and if the daemon is only ever run from this initscript.
+	# If the above conditions are not satisfied then add some other code
+	# that waits for the process to drop all resources that could be
+	# needed by services started subsequently.  A last resort is to
+	# sleep for some time.
+	start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON
+	[ "$?" = 2 ] && return 2
+	# Many daemons don't delete their pidfiles when they exit.
+	rm -f $PIDFILE
+	return "$RETVAL"
+}
+
+case "$1" in
+  start)
+    log_daemon_msg "Starting $DESC " "$NAME"
+    do_start
+    case "$?" in
+		0|1) log_end_msg 0 ;;
+		2) log_end_msg 1 ;;
+	esac
+  ;;
+  stop)
+	log_daemon_msg "Stopping $DESC" "$NAME"
+	do_stop
+	case "$?" in
+		0|1) log_end_msg 0 ;;
+		2) log_end_msg 1 ;;
+	esac
+	;;
+  status)
+       status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
+       ;;
+  restart|force-reload)
+	#
+	# If the "reload" option is implemented then remove the
+	# 'force-reload' alias
+	#
+	log_daemon_msg "Restarting $DESC" "$NAME"
+	do_stop
+	case "$?" in
+	  0|1)
+		do_start
+		case "$?" in
+			0) log_end_msg 0 ;;
+			1) log_end_msg 1 ;; # Old process is still running
+			*) log_end_msg 1 ;; # Failed to start
+		esac
+		;;
+	  *)
+	  	# Failed to stop
+		log_end_msg 1
+		;;
+	esac
+	;;
+  *)
+	echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2
+	exit 3
+	;;
+esac
+
+:
Index: debian/freebsd-utils.install
===================================================================
--- debian/freebsd-utils.install	(revision 3528)
+++ debian/freebsd-utils.install	(working copy)
@@ -30,7 +30,8 @@
 sbin/mount_udf/mount_udf		/sbin
 sbin/mount_unionfs/mount_unionfs	/sbin
 sbin/devd/devd				/sbin
+etc/devd.conf				/etc
+debian/local/devd/*.conf		/etc/devd
 sbin/devfs/devfs			/sbin
 
 usr.sbin/acpi/acpiconf/acpiconf		/usr/sbin
-

Reply to: