[Glibc-bsd-commits] r3474 - in trunk/freebsd-utils/debian: . patches

Robert Millan rmh at alioth.debian.org
Wed Jun 22 23:34:13 UTC 2011


Author: rmh
Date: 2011-06-22 23:34:05 +0000 (Wed, 22 Jun 2011)
New Revision: 3474

Added:
   trunk/freebsd-utils/debian/freebsd-utils.devd.init
   trunk/freebsd-utils/debian/patches/033_devd_usb.diff
Modified:
   trunk/freebsd-utils/debian/changelog
   trunk/freebsd-utils/debian/control
   trunk/freebsd-utils/debian/freebsd-utils.install
   trunk/freebsd-utils/debian/patches/022_devd.diff
   trunk/freebsd-utils/debian/patches/series
   trunk/freebsd-utils/debian/rules
Log:
Provide config files and init.d script for devd.  (Closes: #630614)

Modified: trunk/freebsd-utils/debian/changelog
===================================================================
--- trunk/freebsd-utils/debian/changelog	2011-06-18 20:25:06 UTC (rev 3473)
+++ trunk/freebsd-utils/debian/changelog	2011-06-22 23:34:05 UTC (rev 3474)
@@ -11,8 +11,9 @@
     - Remove some now obsolete porting code.
   * Removed kludges from 013_pf.diff.  strtonum.c is obsoleted
     by libbsd, pf_ruleset.c is imported from upstream source.
+  * Provide config files and init.d script for devd.  (Closes: #630614)
 
- -- Robert Millan <rmh at debian.org>  Sat, 18 Jun 2011 19:07:34 +0200
+ -- Robert Millan <rmh at debian.org>  Thu, 23 Jun 2011 01:33:46 +0200
 
 freebsd-utils (8.2-2) unstable; urgency=low
 

Modified: trunk/freebsd-utils/debian/control
===================================================================
--- trunk/freebsd-utils/debian/control	2011-06-18 20:25:06 UTC (rev 3473)
+++ trunk/freebsd-utils/debian/control	2011-06-22 23:34:05 UTC (rev 3474)
@@ -39,7 +39,7 @@
 Priority: required
 Essential: yes
 Architecture: kfreebsd-any
-Depends: ${shlibs:Depends}, ${misc:Depends}
+Depends: ${shlibs:Depends}, ${misc:Depends}, lsb-base (>= 3.0-6)
 Suggests: kbdcontrol, vidcontrol, freebsd-hackedutils (>= 6.1-3)
 Conflicts: inetutils-tools (<= 2:1.4.3+20051212-4)
 Replaces: freebsd-hackedutils (<= 6.1-3)

Added: trunk/freebsd-utils/debian/freebsd-utils.devd.init
===================================================================
--- trunk/freebsd-utils/debian/freebsd-utils.devd.init	                        (rev 0)
+++ trunk/freebsd-utils/debian/freebsd-utils.devd.init	2011-06-22 23:34:05 UTC (rev 3474)
@@ -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 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
+
+:

Modified: trunk/freebsd-utils/debian/freebsd-utils.install
===================================================================
--- trunk/freebsd-utils/debian/freebsd-utils.install	2011-06-18 20:25:06 UTC (rev 3473)
+++ trunk/freebsd-utils/debian/freebsd-utils.install	2011-06-22 23:34:05 UTC (rev 3474)
@@ -33,6 +33,8 @@
 sbin/mount_udf/mount_udf		/sbin
 sbin/mount_unionfs/mount_unionfs	/sbin
 sbin/devd/devd				/sbin
+etc/devd.conf				/etc
+etc/devd/*.conf				/etc/devd
 sbin/devfs/devfs			/sbin
 
 usr.sbin/acpi/acpiconf/acpiconf		/usr/sbin

Modified: trunk/freebsd-utils/debian/patches/022_devd.diff
===================================================================
--- trunk/freebsd-utils/debian/patches/022_devd.diff	2011-06-18 20:25:06 UTC (rev 3473)
+++ trunk/freebsd-utils/debian/patches/022_devd.diff	2011-06-22 23:34:05 UTC (rev 3474)
@@ -19,7 +19,7 @@
  
 --- a/sbin/devd/Makefile
 +++ b/sbin/devd/Makefile
-@@ -10,7 +10,7 @@ WARNS=	0
+@@ -10,7 +10,7 @@
  NO_SHARED?=YES
  
  DPADD=	${LIBL} ${LIBUTIL}
@@ -28,3 +28,273 @@
  
  YFLAGS+=-v
  CFLAGS+=-I. -I${.CURDIR}
+--- a/etc/devd.conf
++++ b/etc/devd.conf
+@@ -1,8 +1,5 @@
+-# $FreeBSD$
+-#
+ # 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'
+@@ -13,202 +10,12 @@
+ 	# 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";
+-	directory "/usr/local/etc/devd";
+ 	pid-file "/var/run/devd.pid";
+-
+-	# Setup some shorthand for regex that we use later in the file.
+-	#XXX Yes, these are gross -- imp
+-	set scsi-controller-regex
+-		"(aac|adv|adw|aha|ahb|ahc|ahd|aic|amd|amr|asr|bt|ciss|ct|dpt|\
+-		esp|ida|iir|ips|isp|mlx|mly|mpt|ncr|ncv|nsp|stg|sym|trm|wds)\
+-		[0-9]+";
+ };
+ 
+ # Note that the attach/detach with the highest value wins, so that one can
+ # override these general rules.
+ 
+-#
+-# Configure the interface on attach.  Due to a historical accident, this
+-# script is called pccard_ether.
+-#
+-# NB: DETACH events are ignored; the kernel should handle all cleanup
+-#     (routes, arp cache) if you need to do something beware of races
+-#     against immediate create of a device w/ the same name; e.g.
+-#	ifconfig bridge0 destroy; ifconfig bridge0 create
+-#
+-notify 0 {
+-	match "system"		"IFNET";
+-	match "type"		"ATTACH";
+-	action "/etc/pccard_ether $subsystem start";
+-};
+-
+-#
+-# Try to start dhclient on Ethernet like interfaces when the link comes
+-# up.  Only devices that are configured to support DHCP will actually
+-# run it.  No link down rule exists because dhclient automaticly exits
+-# when the link goes down.
+-#
+-notify 0 {
+-	match "system"		"IFNET";
+-	match "type"		"LINK_UP";
+-	media-type		"ethernet";
+-	action "/etc/rc.d/dhclient quietstart $subsystem";
+-};
+-
+-#
+-# Like Ethernet devices, but separate because
+-# they have a different media type.  We may want
+-# to exploit this later.
+-#
+-detach 0 {
+-	media-type "802.11";
+-	action "/etc/pccard_ether $device-name stop";
+-};
+-attach 0 {
+-	media-type "802.11";
+-	action "/etc/pccard_ether $device-name start";
+-};
+-notify 0 {
+-	match "system"		"IFNET";
+-	match "type"		"LINK_UP";
+-	media-type		"802.11";
+-	action "/etc/rc.d/dhclient quietstart $subsystem";
+-};
+-
+-# An entry like this might be in a different file, but is included here
+-# as an example of how to override things.  Normally 'ed50' would match
+-# the above attach/detach stuff, but the value of 100 makes it
+-# hard wired to 1.2.3.4.
+-attach 100 {
+-	device-name "ed50";
+-	action "ifconfig $device-name inet 1.2.3.4 netmask 0xffff0000";
+-};
+-detach 100 {
+-	device-name "ed50";
+-};
+-
+-# When a USB Bluetooth dongle appears activate it
+-attach 100 {
+-	device-name "ubt[0-9]+";
+-	action "/etc/rc.d/bluetooth quietstart $device-name";
+-};
+-detach 100 {
+-	device-name "ubt[0-9]+";
+-	action "/etc/rc.d/bluetooth quietstop $device-name";
+-};
+-
+-# Firmware downloader for Atheros AR3011 based USB Bluetooth devices
+-#attach 100 {
+-#	match "vendor" "0x0cf3";
+-#	match "product" "0x3000";
+-#	action "sleep 2 && /usr/sbin/ath3kfw -d $device-name -f /usr/local/etc/ath3k-1.fw";
+-#};
+-
+-# When a USB keyboard arrives, attach it as the console keyboard.
+-attach 100 {
+-	device-name "ukbd0";
+-	action "/etc/rc.d/syscons setkeyboard /dev/ukbd0";
+-};
+-detach 100 {
+-	device-name "ukbd0";
+-	action "/etc/rc.d/syscons setkeyboard /dev/kbd0";
+-};
+-
+-attach 100 {
+-	device-name "ums[0-9]+";
+-	action "/etc/rc.d/moused quietstart $device-name";
+-};
+-
+-detach 100 {
+-        device-name "ums[0-9]+";
+-        action "/etc/rc.d/moused stop $device-name";
+-};
+-
+-# Firmware download into the ActiveWire board. After the firmware download is
+-# done the device detaches and reappears as something new and shiny
+-# automatically.
+-attach 100 {
+-	match "vendor"	"0x0854";
+-	match "product"	"0x0100";
+-	match "release"	"0x0000";
+-	action "/usr/local/bin/ezdownload -f /usr/local/share/usb/firmware/0854.0100.0_01.hex $device-name";
+-};
+-
+-# Firmware download for Entrega Serial DB25 adapter.
+-attach 100 {
+-	match "vendor"	"0x1645";
+-	match "product"	"0x8001";
+-	match "release"	"0x0101";
+-	action "if ! kldstat -n usio > /dev/null 2>&1 ; then kldload usio; fi; /usr/sbin/ezdownload -v -f /usr/share/usb/firmware/1645.8001.0101 /dev/$device-name";
+-};
+-
+-# This entry starts the ColdSync tool in daemon mode. Make sure you have an up
+-# to date /usr/local/etc/palms. We override the 'listen' settings for port and
+-# type in /usr/local/etc/coldsync.conf.
+-notify 100 {
+-	match "system"		"USB";
+-	match "subsystem"	"DEVICE";
+-	match "type"		"ATTACH";
+-	match "vendor"		"0x082d";
+-	match "product"		"0x0100";
+-	match "release"		"0x0100";
+-	action "/usr/local/bin/coldsync -md -p /dev/$cdev -t usb";
+-};
+-
+-#
+-# Rescan scsi device-names on attach, but not detach.  However, it is
+-# disabled by default due to reports of problems.
+-#
+-attach 0 {
+-	device-name "$scsi-controller-regex";
+-//	action "camcontrol rescan all";
+-};
+-
+-# Don't even try to second guess what to do about drivers that don't
+-# match here.  Instead, pass it off to syslog.  Commented out for the
+-# moment, as the pnpinfo variable isn't set in devd yet.  Individual
+-# variables within the bus supplied pnpinfo are set.
+-nomatch 0 {
+-#	action "logger Unknown device: $pnpinfo $location $bus";
+-};
+-
+-# Various logging of unknown devices.
+-nomatch 10 {
+-	match "bus" "uhub[0-9]+";
+-	action "logger Unknown USB device: vendor $vendor product $product \
+-		bus $bus";
+-};
+-
+-# Some PC-CARDs don't offer numerical manufacturer/product IDs, just
+-# show the CIS info there.
+-nomatch 20 {
+-	match "bus" "pccard[0-9]+";
+-	match "manufacturer" "0xffffffff";
+-	match "product" "0xffffffff";
+-	action "logger Unknown PCCARD device: CISproduct $cisproduct \
+-		CIS-vendor $cisvendor bus $bus";
+-};
+-
+-nomatch 10 {
+-	match "bus" "pccard[0-9]+";
+-	action "logger Unknown PCCARD device: manufacturer $manufacturer \
+-		product $product CISproduct $cisproduct CIS-vendor \
+-		$cisvendor bus $bus";
+-};
+-
+-nomatch 10 {
+-	match "bus" "cardbus[0-9]+";
+-	action "logger Unknown Cardbus device: device $device class $class \
+-		vendor $vendor bus $bus";
+-};
+-
+-# Switch power profiles when the AC line state changes.
+-notify 10 {
+-	match "system"		"ACPI";
+-	match "subsystem"	"ACAD";
+-	action "/etc/rc.d/power_profile $notify";
+-};
+-
+ # 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.
+@@ -262,55 +69,3 @@
+ 	match "subsystem"	"Resume";
+ 	action "/etc/rc.resume acpi $notify";
+ };
+-
+-/* EXAMPLES TO END OF FILE
+-
+-# The following might be an example of something that a vendor might
+-# install if you were to add their device.  This might reside in
+-# /usr/local/etc/devd/deqna.conf.  A deqna is, in this hypothetical
+-# example, a pccard ethernet-like device.  Students of history may
+-# know other devices by this name, and will get the in-jokes in this
+-# entry.
+-nomatch 10 {
+-	match "bus" "pccard[0-9]+";
+-	match "manufacturer" "0x1234";
+-	match "product" "0x2323";
+-	action "kldload if_deqna";
+-};
+-attach 10 {
+-	device-name "deqna[0-9]+";
+-	action "/etc/pccard_ether $device-name start";
+-};
+-detach 10 {
+-	device-name "deqna[0-9]+";
+-	action "/etc/pccard_ether $device-name stop";
+-};
+-
+-# Examples of notify hooks.  A notify is a generic way for a kernel
+-# subsystem to send event notification to userland.
+-#
+-# Here are some examples of ACPI notify handlers.  ACPI subsystems that
+-# generate notifies include the AC adapter, power/sleep buttons,
+-# control method batteries, lid switch, and thermal zones.
+-#
+-# Information returned is not always the same as the ACPI notify
+-# events.  See the ACPI specification for more information about
+-# notifies.  Here is the information returned for each subsystem:
+-#
+-# ACAD:		AC line state (0 is offline, 1 is online)
+-# Button:	Button pressed (0 for power, 1 for sleep)
+-# CMBAT:	ACPI battery events
+-# Lid:		Lid state (0 is closed, 1 is open)
+-# Suspend, Resume: Suspend and resume notification
+-# Thermal:	ACPI thermal zone events
+-#
+-# This example calls a script when the AC state changes, passing the
+-# notify value as the first argument.  If the state is 0x00, it might
+-# call some sysctls to implement economy mode.  If 0x01, it might set
+-# the mode to performance.
+-notify 10 {
+-	match "system"		"ACPI";
+-	match "subsystem"	"ACAD";
+-	action			"/etc/acpi_ac $notify";
+-};
+-*/

Added: trunk/freebsd-utils/debian/patches/033_devd_usb.diff
===================================================================
--- trunk/freebsd-utils/debian/patches/033_devd_usb.diff	                        (rev 0)
+++ trunk/freebsd-utils/debian/patches/033_devd_usb.diff	2011-06-22 23:34:05 UTC (rev 3474)
@@ -0,0 +1,2813 @@
+--- /dev/null
++++ b/etc/devd/usb.conf
+@@ -0,0 +1,2777 @@
++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" "$USB_VENDOR_3COM";
++	match "product" "$USB_PRODUCT_3COM_3C460B";
++	action "kldload if_aue";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_ABOCOM";
++	match "product" "($USB_PRODUCT_ABOCOM_DSB650TX_PNA|$USB_PRODUCT_ABOCOM_UFE1000|$USB_PRODUCT_ABOCOM_XX1|$USB_PRODUCT_ABOCOM_XX10|$USB_PRODUCT_ABOCOM_XX2|$USB_PRODUCT_ABOCOM_XX4|$USB_PRODUCT_ABOCOM_XX5|$USB_PRODUCT_ABOCOM_XX6|$USB_PRODUCT_ABOCOM_XX7|$USB_PRODUCT_ABOCOM_XX8|$USB_PRODUCT_ABOCOM_XX9)";
++	action "kldload if_aue";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_ACCTON";
++	match "product" "($USB_PRODUCT_ACCTON_SS1001|$USB_PRODUCT_ACCTON_USB320_EC)";
++	action "kldload if_aue";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_ADMTEK";
++	match "product" "($USB_PRODUCT_ADMTEK_PEGASUS|$USB_PRODUCT_ADMTEK_PEGASUSII|$USB_PRODUCT_ADMTEK_PEGASUSII_2|$USB_PRODUCT_ADMTEK_PEGASUSII_3|$USB_PRODUCT_ADMTEK_PEGASUSII_4)";
++	action "kldload if_aue";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_AEI";
++	match "product" "$USB_PRODUCT_AEI_FASTETHERNET";
++	action "kldload if_aue";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_ALLIEDTELESYN";
++	match "product" "$USB_PRODUCT_ALLIEDTELESYN_ATUSB100";
++	action "kldload if_aue";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_ATEN";
++	match "product" "$USB_PRODUCT_ATEN_UC110T";
++	action "kldload if_aue";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_BELKIN";
++	match "product" "$USB_PRODUCT_BELKIN_USB2LAN";
++	action "kldload if_aue";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_BILLIONTON";
++	match "product" "($USB_PRODUCT_BILLIONTON_USB100|$USB_PRODUCT_BILLIONTON_USBE100|$USB_PRODUCT_BILLIONTON_USBEL100|$USB_PRODUCT_BILLIONTON_USBLP100)";
++	action "kldload if_aue";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_COREGA";
++	match "product" "($USB_PRODUCT_COREGA_FETHER_USB_TX|$USB_PRODUCT_COREGA_FETHER_USB_TXS)";
++	action "kldload if_aue";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_DLINK";
++	match "product" "($USB_PRODUCT_DLINK_DSB650|$USB_PRODUCT_DLINK_DSB650TX|$USB_PRODUCT_DLINK_DSB650TX1|$USB_PRODUCT_DLINK_DSB650TX2|$USB_PRODUCT_DLINK_DSB650TX3|$USB_PRODUCT_DLINK_DSB650TX4|$USB_PRODUCT_DLINK_DSB650TX_PNA)";
++	action "kldload if_aue";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_ELCON";
++	match "product" "$USB_PRODUCT_ELCON_PLAN";
++	action "kldload if_aue";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_ELECOM";
++	match "product" "($USB_PRODUCT_ELECOM_LDUSB20|$USB_PRODUCT_ELECOM_LDUSBLTX|$USB_PRODUCT_ELECOM_LDUSBTX0|$USB_PRODUCT_ELECOM_LDUSBTX1|$USB_PRODUCT_ELECOM_LDUSBTX2|$USB_PRODUCT_ELECOM_LDUSBTX3)";
++	action "kldload if_aue";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_ELSA";
++	match "product" "$USB_PRODUCT_ELSA_USB2ETHERNET";
++	action "kldload if_aue";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_GIGABYTE";
++	match "product" "$USB_PRODUCT_GIGABYTE_GNBR402W";
++	action "kldload if_aue";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_HAWKING";
++	match "product" "$USB_PRODUCT_HAWKING_UF100";
++	action "kldload if_aue";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_HP";
++	match "product" "$USB_PRODUCT_HP_HN210E";
++	action "kldload if_aue";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_IODATA";
++	match "product" "($USB_PRODUCT_IODATA_USBETTX|$USB_PRODUCT_IODATA_USBETTXS)";
++	action "kldload if_aue";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_KINGSTON";
++	match "product" "$USB_PRODUCT_KINGSTON_KNU101TX";
++	action "kldload if_aue";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_LINKSYS";
++	match "product" "($USB_PRODUCT_LINKSYS_USB100H1|$USB_PRODUCT_LINKSYS_USB100TX|$USB_PRODUCT_LINKSYS_USB10T|$USB_PRODUCT_LINKSYS_USB10TA|$USB_PRODUCT_LINKSYS_USB10TX1|$USB_PRODUCT_LINKSYS_USB10TX2)";
++	action "kldload if_aue";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_MELCO";
++	match "product" "($USB_PRODUCT_MELCO_LUA2TX5|$USB_PRODUCT_MELCO_LUATX1|$USB_PRODUCT_MELCO_LUATX5)";
++	action "kldload if_aue";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_MICROSOFT";
++	match "product" "$USB_PRODUCT_MICROSOFT_MN110";
++	action "kldload if_aue";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_NETGEAR";
++	match "product" "$USB_PRODUCT_NETGEAR_FA101";
++	action "kldload if_aue";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_SIEMENS";
++	match "product" "$USB_PRODUCT_SIEMENS_SPEEDSTREAM";
++	action "kldload if_aue";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_SIIG2";
++	match "product" "$USB_PRODUCT_SIIG2_USBTOETHER";
++	action "kldload if_aue";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_SMARTBRIDGES";
++	match "product" "$USB_PRODUCT_SMARTBRIDGES_SMARTNIC";
++	action "kldload if_aue";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_SMC";
++	match "product" "($USB_PRODUCT_SMC_2202USB|$USB_PRODUCT_SMC_2206USB)";
++	action "kldload if_aue";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_SOHOWARE";
++	match "product" "($USB_PRODUCT_SOHOWARE_NUB100|$USB_PRODUCT_SOHOWARE_NUB110)";
++	action "kldload if_aue";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_ABOCOM";
++	match "product" "$USB_PRODUCT_ABOCOM_UF200";
++	action "kldload if_axe";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_ACERCM";
++	match "product" "$USB_PRODUCT_ACERCM_EP1427X2";
++	action "kldload if_axe";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_APPLE";
++	match "product" "$USB_PRODUCT_APPLE_ETHERNET";
++	action "kldload if_axe";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_ASIX";
++	match "product" "($USB_PRODUCT_ASIX_AX88172|$USB_PRODUCT_ASIX_AX88178|$USB_PRODUCT_ASIX_AX88772|$USB_PRODUCT_ASIX_AX88772A|$USB_PRODUCT_ATEN_UC210T)";
++	action "kldload if_axe";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_BELKIN";
++	match "product" "$USB_PRODUCT_BELKIN_F5D5055";
++	action "kldload if_axe";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_BILLIONTON";
++	match "product" "$USB_PRODUCT_BILLIONTON_USB2AR";
++	action "kldload if_axe";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_ACERLABS";
++	match "product" "$USB_PRODUCT_ACERLABS_M5632";
++	action "kldload if_cdce";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_AMBIT";
++	match "product" "$USB_PRODUCT_AMBIT_NTL_250";
++	action "kldload if_cdce";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_COMPAQ";
++	match "product" "$USB_PRODUCT_COMPAQ_IPAQLINUX";
++	action "kldload if_cdce";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_GMATE";
++	match "product" "$USB_PRODUCT_GMATE_YP3X00";
++	action "kldload if_cdce";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_MOTOROLA2";
++	match "product" "($USB_PRODUCT_MOTOROLA2_USBLAN|$USB_PRODUCT_MOTOROLA2_USBLAN2)";
++	action "kldload if_cdce";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_NETCHIP";
++	match "product" "$USB_PRODUCT_NETCHIP_ETHERNETGADGET";
++	action "kldload if_cdce";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_PROLIFIC";
++	match "product" "$USB_PRODUCT_PROLIFIC_PL2501";
++	action "kldload if_cdce";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_SHARP";
++	match "product" "($USB_PRODUCT_SHARP_SL5500|$USB_PRODUCT_SHARP_SL5600|$USB_PRODUCT_SHARP_SLA300|$USB_PRODUCT_SHARP_SLC700|$USB_PRODUCT_SHARP_SLC750)";
++	action "kldload if_cdce";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_CATC";
++	match "product" "($USB_PRODUCT_CATC_NETMATE|$USB_PRODUCT_CATC_NETMATE2)";
++	action "kldload if_cue";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_SMARTBRIDGES";
++	match "product" "$USB_PRODUCT_SMARTBRIDGES_SMARTLINK";
++	action "kldload if_cue";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_APPLE";
++	match "product" "($USB_PRODUCT_APPLE_IPHONE|$USB_PRODUCT_APPLE_IPHONE_3G|$USB_PRODUCT_APPLE_IPHONE_3GS|$USB_PRODUCT_APPLE_IPHONE_4)";
++	action "kldload if_ipheth";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_3COM";
++	match "product" "($USB_PRODUCT_3COM_3C19250|$USB_PRODUCT_3COM_3C460)";
++	action "kldload if_kue";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_ABOCOM";
++	match "product" "$USB_PRODUCT_ABOCOM_URE450";
++	action "kldload if_kue";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_ADS";
++	match "product" "($USB_PRODUCT_ADS_UBS10BT|$USB_PRODUCT_ADS_UBS10BTX)";
++	action "kldload if_kue";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_AOX";
++	match "product" "$USB_PRODUCT_AOX_USB101";
++	action "kldload if_kue";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_ASANTE";
++	match "product" "$USB_PRODUCT_ASANTE_EA";
++	action "kldload if_kue";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_ATEN";
++	match "product" "($USB_PRODUCT_ATEN_DSB650C|$USB_PRODUCT_ATEN_UC10T)";
++	action "kldload if_kue";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_COREGA";
++	match "product" "$USB_PRODUCT_COREGA_ETHER_USB_T";
++	action "kldload if_kue";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_DLINK";
++	match "product" "$USB_PRODUCT_DLINK_DSB650C";
++	action "kldload if_kue";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_ENTREGA";
++	match "product" "($USB_PRODUCT_ENTREGA_E45|$USB_PRODUCT_ENTREGA_XX1|$USB_PRODUCT_ENTREGA_XX2)";
++	action "kldload if_kue";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_IODATA";
++	match "product" "$USB_PRODUCT_IODATA_USBETT";
++	action "kldload if_kue";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_JATON";
++	match "product" "$USB_PRODUCT_JATON_EDA";
++	action "kldload if_kue";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_KINGSTON";
++	match "product" "$USB_PRODUCT_KINGSTON_XX1";
++	action "kldload if_kue";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_KLSI";
++	match "product" "($USB_PRODUCT_KLSI_DUH3E10BT|$USB_PRODUCT_KLSI_DUH3E10BTN)";
++	action "kldload if_kue";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_LINKSYS";
++	match "product" "$USB_PRODUCT_LINKSYS_USB10T";
++	action "kldload if_kue";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_MOBILITY";
++	match "product" "$USB_PRODUCT_MOBILITY_EA";
++	action "kldload if_kue";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_NETGEAR";
++	match "product" "($USB_PRODUCT_NETGEAR_EA101|$USB_PRODUCT_NETGEAR_EA101X)";
++	action "kldload if_kue";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_PERACOM";
++	match "product" "($USB_PRODUCT_PERACOM_ENET|$USB_PRODUCT_PERACOM_ENET2|$USB_PRODUCT_PERACOM_ENET3)";
++	action "kldload if_kue";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_PORTGEAR";
++	match "product" "($USB_PRODUCT_PORTGEAR_EA8|$USB_PRODUCT_PORTGEAR_EA9)";
++	action "kldload if_kue";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_PORTSMITH";
++	match "product" "$USB_PRODUCT_PORTSMITH_EEA";
++	action "kldload if_kue";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_SHARK";
++	match "product" "$USB_PRODUCT_SHARK_PA";
++	action "kldload if_kue";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_SILICOM";
++	match "product" "($USB_PRODUCT_SILICOM_GPE|$USB_PRODUCT_SILICOM_U2E)";
++	action "kldload if_kue";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_SMC";
++	match "product" "$USB_PRODUCT_SMC_2102USB";
++	action "kldload if_kue";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_MOSCHIP";
++	match "product" "($USB_PRODUCT_MOSCHIP_MCS7730|$USB_PRODUCT_MOSCHIP_MCS7830)";
++	action "kldload if_mos";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_SITECOMEU";
++	match "product" "$USB_PRODUCT_SITECOMEU_LN030";
++	action "kldload if_mos";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_MELCO";
++	match "product" "$USB_PRODUCT_MELCO_LUAKTX";
++	action "kldload if_rue";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_REALTEK";
++	match "product" "$USB_PRODUCT_REALTEK_USBKR100";
++	action "kldload if_rue";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_OQO";
++	match "product" "$USB_PRODUCT_OQO_ETHER01";
++	action "kldload if_rue";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_ABOCOM";
++	match "product" "($USB_PRODUCT_ABOCOM_HWU54DM|$USB_PRODUCT_ABOCOM_RT2573_2|$USB_PRODUCT_ABOCOM_RT2573_3|$USB_PRODUCT_ABOCOM_RT2573_4|$USB_PRODUCT_ABOCOM_WUG2700)";
++	action "kldload if_rum";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_AMIT";
++	match "product" "$USB_PRODUCT_AMIT_CGWLUSB2GO";
++	action "kldload if_rum";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_ASUS";
++	match "product" "($USB_PRODUCT_ASUS_RT2573_1|$USB_PRODUCT_ASUS_RT2573_2$USB_PRODUCT_BELKIN $USB_PRODUCT_BELKIN_F5D7050A|$USB_PRODUCT_BELKIN_F5D9050V3)";
++	action "kldload if_rum";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_CISCOLINKSYS";
++	match "product" "($USB_PRODUCT_CISCOLINKSYS_WUSB54GC|$USB_PRODUCT_CISCOLINKSYS_WUSB54GR$USB_PRODUCT_CONCEPTRONIC2 $USB_PRODUCT_CONCEPTRONIC2_C54RU2)";
++	action "kldload if_rum";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_COREGA";
++	match "product" "($USB_PRODUCT_COREGA_CGWLUSB2GL|$USB_PRODUCT_COREGA_CGWLUSB2GPX)";
++	action "kldload if_rum";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_DICKSMITH";
++	match "product" "($USB_PRODUCT_DICKSMITH_CWD854F|$USB_PRODUCT_DICKSMITH_RT2573)";
++	action "kldload if_rum";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_EDIMAX";
++	match "product" "$USB_PRODUCT_EDIMAX_EW7318USG";
++	action "kldload if_rum";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_DLINK2";
++	match "product" "($USB_PRODUCT_DLINK2_DWLG122C1|$USB_PRODUCT_DLINK2_WUA1340|$USB_PRODUCT_DLINK2_DWA111|$USB_PRODUCT_DLINK2_DWA110)";
++	action "kldload if_rum";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_GIGABYTE";
++	match "product" "($USB_PRODUCT_GIGABYTE_GNWB01GS|$USB_PRODUCT_GIGABYTE_GNWI05GS)";
++	action "kldload if_rum";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_GIGASET";
++	match "product" "$USB_PRODUCT_GIGASET_RT2573";
++	action "kldload if_rum";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_GOODWAY";
++	match "product" "$USB_PRODUCT_GOODWAY_RT2573";
++	action "kldload if_rum";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_GUILLEMOT";
++	match "product" "($USB_PRODUCT_GUILLEMOT_HWGUSB254LB|$USB_PRODUCT_GUILLEMOT_HWGUSB254V2AP)";
++	action "kldload if_rum";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_HUAWEI3COM";
++	match "product" "$USB_PRODUCT_HUAWEI3COM_WUB320G";
++	action "kldload if_rum";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_MELCO";
++	match "product" "($USB_PRODUCT_MELCO_G54HP|$USB_PRODUCT_MELCO_SG54HP|$USB_PRODUCT_MELCO_WLIUCG|$USB_PRODUCT_MELCO_WLRUCG|$USB_PRODUCT_MELCO_WLRUCGAOSS)";
++	action "kldload if_rum";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_MSI";
++	match "product" "($USB_PRODUCT_MSI_RT2573_1|$USB_PRODUCT_MSI_RT2573_2|$USB_PRODUCT_MSI_RT2573_3|$USB_PRODUCT_MSI_RT2573_4)";
++	action "kldload if_rum";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_NOVATECH";
++	match "product" "$USB_PRODUCT_NOVATECH_RT2573";
++	action "kldload if_rum";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_PLANEX2";
++	match "product" "($USB_PRODUCT_PLANEX2_GWUS54HP|$USB_PRODUCT_PLANEX2_GWUS54MINI2|$USB_PRODUCT_PLANEX2_GWUSMM)";
++	action "kldload if_rum";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_QCOM";
++	match "product" "($USB_PRODUCT_QCOM_RT2573|$USB_PRODUCT_QCOM_RT2573_2|$USB_PRODUCT_QCOM_RT2573_3)";
++	action "kldload if_rum";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_RALINK";
++	match "product" "($USB_PRODUCT_RALINK_RT2573|$USB_PRODUCT_RALINK_RT2573_2|$USB_PRODUCT_RALINK_RT2671)";
++	action "kldload if_rum";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_SITECOMEU";
++	match "product" "($USB_PRODUCT_SITECOMEU_WL113R2|$USB_PRODUCT_SITECOMEU_WL172)";
++	action "kldload if_rum";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_SPARKLAN";
++	match "product" "$USB_PRODUCT_SPARKLAN_RT2573";
++	action "kldload if_rum";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_SURECOM";
++	match "product" "$USB_PRODUCT_SURECOM_RT2573";
++	action "kldload if_rum";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_ABOCOM";
++	match "product" "($USB_PRODUCT_ABOCOM_RT2770|$USB_PRODUCT_ABOCOM_RT2870|$USB_PRODUCT_ABOCOM_RT3070|$USB_PRODUCT_ABOCOM_RT3071|$USB_PRODUCT_ABOCOM_RT3072)";
++	action "kldload if_run";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_ABOCOM2";
++	match "product" "$USB_PRODUCT_ABOCOM2_RT2870_1";
++	action "kldload if_run";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_ACCTON";
++	match "product" "($USB_PRODUCT_ACCTON_RT2770|$USB_PRODUCT_ACCTON_RT2870_1|$USB_PRODUCT_ACCTON_RT2870_2|$USB_PRODUCT_ACCTON_RT2870_3|$USB_PRODUCT_ACCTON_RT2870_4|$USB_PRODUCT_ACCTON_RT2870_5|$USB_PRODUCT_ACCTON_RT3070|$USB_PRODUCT_ACCTON_RT3070_1|$USB_PRODUCT_ACCTON_RT3070_2|$USB_PRODUCT_ACCTON_RT3070_3|$USB_PRODUCT_ACCTON_RT3070_4|$USB_PRODUCT_ACCTON_RT3070_5)";
++	action "kldload if_run";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_AIRTIES";
++	match "product" "$USB_PRODUCT_AIRTIES_RT3070";
++	action "kldload if_run";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_ALLWIN";
++	match "product" "($USB_PRODUCT_ALLWIN_RT2070|$USB_PRODUCT_ALLWIN_RT2770|$USB_PRODUCT_ALLWIN_RT2870|$USB_PRODUCT_ALLWIN_RT3070|$USB_PRODUCT_ALLWIN_RT3071|$USB_PRODUCT_ALLWIN_RT3072|$USB_PRODUCT_ALLWIN_RT3572)";
++	action "kldload if_run";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_AMIGO";
++	match "product" "($USB_PRODUCT_AMIGO_RT2870_1|$USB_PRODUCT_AMIGO_RT2870_2)";
++	action "kldload if_run";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_AMIT";
++	match "product" "($USB_PRODUCT_AMIT_CGWLUSB2GNR|$USB_PRODUCT_AMIT_RT2870_1)";
++	action "kldload if_run";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_AMIT2";
++	match "product" "$USB_PRODUCT_AMIT2_RT2870";
++	action "kldload if_run";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_ASUS";
++	match "product" "($USB_PRODUCT_ASUS_RT2870_1|$USB_PRODUCT_ASUS_RT2870_2|$USB_PRODUCT_ASUS_RT2870_3|$USB_PRODUCT_ASUS_RT2870_4|$USB_PRODUCT_ASUS_RT2870_5|$USB_PRODUCT_ASUS_USBN13|$USB_PRODUCT_ASUS_RT3070_1)";
++	action "kldload if_run";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_ASUS2";
++	match "product" "$USB_PRODUCT_ASUS2_USBN11";
++	action "kldload if_run";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_AZUREWAVE";
++	match "product" "($USB_PRODUCT_AZUREWAVE_RT2870_1|$USB_PRODUCT_AZUREWAVE_RT2870_2|$USB_PRODUCT_AZUREWAVE_RT3070_1|$USB_PRODUCT_AZUREWAVE_RT3070_2|$USB_PRODUCT_AZUREWAVE_RT3070_3)";
++	action "kldload if_run";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_BELKIN";
++	match "product" "($USB_PRODUCT_BELKIN_F5D8053V3|$USB_PRODUCT_BELKIN_F5D8055|$USB_PRODUCT_BELKIN_F6D4050V1|$USB_PRODUCT_BELKIN_RT2870_1|$USB_PRODUCT_BELKIN_RT2870_2)";
++	action "kldload if_run";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_CISCOLINKSYS2";
++	match "product" "$USB_PRODUCT_CISCOLINKSYS2_RT3070";
++	action "kldload if_run";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_CISCOLINKSYS3";
++	match "product" "$USB_PRODUCT_CISCOLINKSYS3_RT3070";
++	action "kldload if_run";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_CONCEPTRONIC2";
++	match "product" "($USB_PRODUCT_CONCEPTRONIC2_RT2870_1|$USB_PRODUCT_CONCEPTRONIC2_RT2870_2|$USB_PRODUCT_CONCEPTRONIC2_RT2870_3|$USB_PRODUCT_CONCEPTRONIC2_RT2870_4|$USB_PRODUCT_CONCEPTRONIC2_RT2870_5|$USB_PRODUCT_CONCEPTRONIC2_RT2870_6|$USB_PRODUCT_CONCEPTRONIC2_RT2870_7|$USB_PRODUCT_CONCEPTRONIC2_RT2870_8|$USB_PRODUCT_CONCEPTRONIC2_RT3070_1|$USB_PRODUCT_CONCEPTRONIC2_RT3070_2|$USB_PRODUCT_CONCEPTRONIC2_VIGORN61)";
++	action "kldload if_run";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_COREGA";
++	match "product" "($USB_PRODUCT_COREGA_CGWLUSB300GNM|$USB_PRODUCT_COREGA_RT2870_1|$USB_PRODUCT_COREGA_RT2870_2|$USB_PRODUCT_COREGA_RT2870_3|$USB_PRODUCT_COREGA_RT3070)";
++	action "kldload if_run";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_CYBERTAN";
++	match "product" "$USB_PRODUCT_CYBERTAN_RT2870";
++	action "kldload if_run";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_DLINK";
++	match "product" "($USB_PRODUCT_DLINK_RT2870|$USB_PRODUCT_DLINK_RT3072)";
++	action "kldload if_run";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_DLINK2";
++	match "product" "($USB_PRODUCT_DLINK2_DWA130|$USB_PRODUCT_DLINK2_RT2870_1|$USB_PRODUCT_DLINK2_RT2870_2|$USB_PRODUCT_DLINK2_RT3070_1|$USB_PRODUCT_DLINK2_RT3070_2|$USB_PRODUCT_DLINK2_RT3070_3|$USB_PRODUCT_DLINK2_RT3070_4|$USB_PRODUCT_DLINK2_RT3070_5|$USB_PRODUCT_DLINK2_RT3072|$USB_PRODUCT_DLINK2_RT3072_1)";
++	action "kldload if_run";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_EDIMAX";
++	match "product" "($USB_PRODUCT_EDIMAX_EW7717|$USB_PRODUCT_EDIMAX_EW7718|$USB_PRODUCT_EDIMAX_RT2870_1)";
++	action "kldload if_run";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_ENCORE";
++	match "product" "($USB_PRODUCT_ENCORE_RT3070_1|$USB_PRODUCT_ENCORE_RT3070_2|$USB_PRODUCT_ENCORE_RT3070_3)";
++	action "kldload if_run";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_GIGABYTE";
++	match "product" "($USB_PRODUCT_GIGABYTE_GNWB31N|$USB_PRODUCT_GIGABYTE_GNWB32L|$USB_PRODUCT_GIGABYTE_RT2870_1)";
++	action "kldload if_run";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_GIGASET";
++	match "product" "($USB_PRODUCT_GIGASET_RT3070_1|$USB_PRODUCT_GIGASET_RT3070_2)";
++	action "kldload if_run";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_GUILLEMOT";
++	match "product" "$USB_PRODUCT_GUILLEMOT_HWNU300";
++	action "kldload if_run";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_HAWKING";
++	match "product" "($USB_PRODUCT_HAWKING_HWUN2|$USB_PRODUCT_HAWKING_RT2870_1|$USB_PRODUCT_HAWKING_RT2870_2|$USB_PRODUCT_HAWKING_RT3070)";
++	action "kldload if_run";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_IODATA";
++	match "product" "($USB_PRODUCT_IODATA_RT3072_1|$USB_PRODUCT_IODATA_RT3072_2|$USB_PRODUCT_IODATA_RT3072_3|$USB_PRODUCT_IODATA_RT3072_4)";
++	action "kldload if_run";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_LINKSYS4";
++	match "product" "($USB_PRODUCT_LINKSYS4_RT3070|$USB_PRODUCT_LINKSYS4_WUSB100|$USB_PRODUCT_LINKSYS4_WUSB54GCV3|$USB_PRODUCT_LINKSYS4_WUSB600N|$USB_PRODUCT_LINKSYS4_WUSB600NV2)";
++	action "kldload if_run";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_LOGITEC";
++	match "product" "($USB_PRODUCT_LOGITEC_RT2870_1|$USB_PRODUCT_LOGITEC_RT2870_2|$USB_PRODUCT_LOGITEC_RT2870_3)";
++	action "kldload if_run";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_MELCO";
++	match "product" "($USB_PRODUCT_MELCO_RT2870_1|$USB_PRODUCT_MELCO_RT2870_2|$USB_PRODUCT_MELCO_WLIUCAG300N|$USB_PRODUCT_MELCO_WLIUCG300N|$USB_PRODUCT_MELCO_WLIUCG301N|$USB_PRODUCT_MELCO_WLIUCGN)";
++	action "kldload if_run";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_MOTOROLA4";
++	match "product" "($USB_PRODUCT_MOTOROLA4_RT2770|$USB_PRODUCT_MOTOROLA4_RT3070)";
++	action "kldload if_run";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_MSI";
++	match "product" "($USB_PRODUCT_MSI_RT3070_1|$USB_PRODUCT_MSI_RT3070_2|$USB_PRODUCT_MSI_RT3070_3|$USB_PRODUCT_MSI_RT3070_4|$USB_PRODUCT_MSI_RT3070_5|$USB_PRODUCT_MSI_RT3070_6|$USB_PRODUCT_MSI_RT3070_7|$USB_PRODUCT_MSI_RT3070_8|$USB_PRODUCT_MSI_RT3070_9|$USB_PRODUCT_MSI_RT3070_10|$USB_PRODUCT_MSI_RT3070_11)";
++	action "kldload if_run";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_OVISLINK";
++	match "product" "$USB_PRODUCT_OVISLINK_RT3072";
++	action "kldload if_run";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_PARA";
++	match "product" "$USB_PRODUCT_PARA_RT3070";
++	action "kldload if_run";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_PEGATRON";
++	match "product" "($USB_PRODUCT_PEGATRON_RT2870|$USB_PRODUCT_PEGATRON_RT3070|$USB_PRODUCT_PEGATRON_RT3070_2|$USB_PRODUCT_PEGATRON_RT3070_3)";
++	action "kldload if_run";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_PHILIPS";
++	match "product" "$USB_PRODUCT_PHILIPS_RT2870";
++	action "kldload if_run";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_PLANEX2";
++	match "product" "($USB_PRODUCT_PLANEX2_GWUS300MINIS|$USB_PRODUCT_PLANEX2_GWUSMICRON|$USB_PRODUCT_PLANEX2_RT2870|$USB_PRODUCT_PLANEX2_RT3070)";
++	action "kldload if_run";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_QCOM";
++	match "product" "$USB_PRODUCT_QCOM_RT2870";
++	action "kldload if_run";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_QUANTA";
++	match "product" "$USB_PRODUCT_QUANTA_RT3070";
++	action "kldload if_run";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_RALINK";
++	match "product" "($USB_PRODUCT_RALINK_RT2070|$USB_PRODUCT_RALINK_RT2770|$USB_PRODUCT_RALINK_RT2870|$USB_PRODUCT_RALINK_RT3070|$USB_PRODUCT_RALINK_RT3071|$USB_PRODUCT_RALINK_RT3072|$USB_PRODUCT_RALINK_RT3370|$USB_PRODUCT_RALINK_RT3572|$USB_PRODUCT_RALINK_RT8070)";
++	action "kldload if_run";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_SAMSUNG2";
++	match "product" "$USB_PRODUCT_SAMSUNG2_RT2870_1";
++	action "kldload if_run";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_SENAO";
++	match "product" "($USB_PRODUCT_SENAO_RT2870_1|$USB_PRODUCT_SENAO_RT2870_2|$USB_PRODUCT_SENAO_RT2870_3|$USB_PRODUCT_SENAO_RT2870_4|$USB_PRODUCT_SENAO_RT3070|$USB_PRODUCT_SENAO_RT3071|$USB_PRODUCT_SENAO_RT3072_1|$USB_PRODUCT_SENAO_RT3072_2|$USB_PRODUCT_SENAO_RT3072_3|$USB_PRODUCT_SENAO_RT3072_4|$USB_PRODUCT_SENAO_RT3072_5)";
++	action "kldload if_run";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_SITECOMEU";
++	match "product" "($USB_PRODUCT_SITECOMEU_RT2770|$USB_PRODUCT_SITECOMEU_RT2870_1|$USB_PRODUCT_SITECOMEU_RT2870_2|$USB_PRODUCT_SITECOMEU_RT2870_3|$USB_PRODUCT_SITECOMEU_RT2870_4|$USB_PRODUCT_SITECOMEU_RT3070|$USB_PRODUCT_SITECOMEU_RT3070_2|$USB_PRODUCT_SITECOMEU_RT3070_3|$USB_PRODUCT_SITECOMEU_RT3070_4|$USB_PRODUCT_SITECOMEU_RT3071|$USB_PRODUCT_SITECOMEU_RT3072_1|$USB_PRODUCT_SITECOMEU_RT3072_2|$USB_PRODUCT_SITECOMEU_RT3072_3|$USB_PRODUCT_SITECOMEU_RT3072_4|$USB_PRODUCT_SITECOMEU_RT3072_5|$USB_PRODUCT_SITECOMEU_RT3072_6|$USB_PRODUCT_SITECOMEU_WL608)";
++	action "kldload if_run";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_SPARKLAN";
++	match "product" "($USB_PRODUCT_SPARKLAN_RT2870_1|$USB_PRODUCT_SPARKLAN_RT3070)";
++	action "kldload if_run";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_SWEEX2";
++	match "product" "($USB_PRODUCT_SWEEX2_LW153|$USB_PRODUCT_SWEEX2_LW303|$USB_PRODUCT_SWEEX2_LW313)";
++	action "kldload if_run";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_TOSHIBA";
++	match "product" "$USB_PRODUCT_TOSHIBA_RT3070";
++	action "kldload if_run";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_UMEDIA";
++	match "product" "$USB_PRODUCT_UMEDIA_RT2870_1";
++	action "kldload if_run";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_ZCOM";
++	match "product" "($USB_PRODUCT_ZCOM_RT2870_1|$USB_PRODUCT_ZCOM_RT2870_2)";
++	action "kldload if_run";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_ZINWELL";
++	match "product" "($USB_PRODUCT_ZINWELL_RT2870_1|$USB_PRODUCT_ZINWELL_RT2870_2|$USB_PRODUCT_ZINWELL_RT3070|$USB_PRODUCT_ZINWELL_RT3072_1|$USB_PRODUCT_ZINWELL_RT3072_2)";
++	action "kldload if_run";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_ZYXEL";
++	match "product" "($USB_PRODUCT_ZYXEL_RT2870_1|$USB_PRODUCT_ZYXEL_RT2870_2)";
++	action "kldload if_run";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_ACCTON";
++	match "product" "($USB_PRODUCT_ACCTON_SMCWUSBG|$USB_PRODUCT_ACCTON_SMCWUSBTG2)";
++	action "kldload if_uath";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_ATHEROS";
++	match "product" "$USB_PRODUCT_ATHEROS_AR5523";
++	action "kldload if_uath";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_ATHEROS2";
++	match "product" "($USB_PRODUCT_ATHEROS2_AR5523_1|$USB_PRODUCT_ATHEROS2_AR5523_2|$USB_PRODUCT_ATHEROS2_AR5523_3)";
++	action "kldload if_uath";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_CONCEPTRONIC";
++	match "product" "($USB_PRODUCT_CONCEPTRONIC_AR5523_1|$USB_PRODUCT_CONCEPTRONIC_AR5523_2)";
++	action "kldload if_uath";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_DLINK";
++	match "product" "($USB_PRODUCT_DLINK_DWLAG122|$USB_PRODUCT_DLINK_DWLAG132|$USB_PRODUCT_DLINK_DWLG132)";
++	action "kldload if_uath";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_DLINK2";
++	match "product" "$USB_PRODUCT_DLINK2_DWA120";
++	action "kldload if_uath";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_GIGASET";
++	match "product" "($USB_PRODUCT_GIGASET_AR5523|$USB_PRODUCT_GIGASET_SMCWUSBTG)";
++	action "kldload if_uath";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_GLOBALSUN";
++	match "product" "($USB_PRODUCT_GLOBALSUN_AR5523_1|$USB_PRODUCT_GLOBALSUN_AR5523_2)";
++	action "kldload if_uath";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_NETGEAR";
++	match "product" "$USB_PRODUCT_NETGEAR_WG111U";
++	action "kldload if_uath";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_NETGEAR3";
++	match "product" "($USB_PRODUCT_NETGEAR3_WG111T|$USB_PRODUCT_NETGEAR3_WPN111|$USB_PRODUCT_NETGEAR3_WPN111_2)";
++	action "kldload if_uath";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_UMEDIA";
++	match "product" "($USB_PRODUCT_UMEDIA_TEW444UBEU|$USB_PRODUCT_UMEDIA_AR5523_2)";
++	action "kldload if_uath";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_WISTRONNEWEB";
++	match "product" "($USB_PRODUCT_WISTRONNEWEB_AR5523_1|$USB_PRODUCT_WISTRONNEWEB_AR5523_2)";
++	action "kldload if_uath";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_ZCOM";
++	match "product" "$USB_PRODUCT_ZCOM_AR5523";
++	action "kldload if_uath";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_SHANTOU";
++	match "product" "($USB_PRODUCT_SHANTOU_DM9601|$USB_PRODUCT_SHANTOU_ST268|$USB_PRODUCT_SHANTOU_ADM8515)";
++	action "kldload if_udav";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_COREGA";
++	match "product" "$USB_PRODUCT_COREGA_FETHER_USB_TXC";
++	action "kldload if_udav";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_KONTRON";
++	match "product" "($USB_PRODUCT_KONTRON_DM9601|$USB_PRODUCT_KONTRON_JP1082)";
++	action "kldload if_udav";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_ACCTON";
++	match "product" "$USB_PRODUCT_ACCTON_PRISM_GT";
++	action "kldload if_upgt";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_BELKIN";
++	match "product" "$USB_PRODUCT_BELKIN_F5D7050";
++	action "kldload if_upgt";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_CISCOLINKSYS";
++	match "product" "$USB_PRODUCT_CISCOLINKSYS_WUSB54AG";
++	action "kldload if_upgt";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_CONCEPTRONIC";
++	match "product" "$USB_PRODUCT_CONCEPTRONIC_PRISM_GT";
++	action "kldload if_upgt";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_DELL";
++	match "product" "($USB_PRODUCT_DELL_PRISM_GT_1|$USB_PRODUCT_DELL_PRISM_GT_2)";
++	action "kldload if_upgt";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_FSC";
++	match "product" "$USB_PRODUCT_FSC_E5400";
++	action "kldload if_upgt";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_GLOBESPAN";
++	match "product" "($USB_PRODUCT_GLOBESPAN_PRISM_GT_1|$USB_PRODUCT_GLOBESPAN_PRISM_GT_2)";
++	action "kldload if_upgt";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_NETGEAR";
++	match "product" "$USB_PRODUCT_NETGEAR_WG111V2_2";
++	action "kldload if_upgt";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_INTERSIL";
++	match "product" "$USB_PRODUCT_INTERSIL_PRISM_GT";
++	action "kldload if_upgt";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_SMC";
++	match "product" "$USB_PRODUCT_SMC_2862WG";
++	action "kldload if_upgt";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_USR";
++	match "product" "$USB_PRODUCT_USR_USR5422";
++	action "kldload if_upgt";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_WISTRONNEWEB";
++	match "product" "$USB_PRODUCT_WISTRONNEWEB_UR045G";
++	action "kldload if_upgt";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_XYRATEX";
++	match "product" "($USB_PRODUCT_XYRATEX_PRISM_GT_1|$USB_PRODUCT_XYRATEX_PRISM_GT_2)";
++	action "kldload if_upgt";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_ZCOM";
++	match "product" "($USB_PRODUCT_ZCOM_XG703A|$USB_PRODUCT_ZCOM_XM142)";
++	action "kldload if_upgt";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_ASUS";
++	match "product" "($USB_PRODUCT_ASUS_WL167G|$USB_PRODUCT_ASUS_RT2570)";
++	action "kldload if_ural";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_BELKIN";
++	match "product" "($USB_PRODUCT_BELKIN_F5D7050|$USB_PRODUCT_BELKIN_F5D7051)";
++	action "kldload if_ural";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_CISCOLINKSYS";
++	match "product" "($USB_PRODUCT_CISCOLINKSYS_HU200TS|$USB_PRODUCT_CISCOLINKSYS_WUSB54G|$USB_PRODUCT_CISCOLINKSYS_WUSB54GP)";
++	action "kldload if_ural";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_CONCEPTRONIC2";
++	match "product" "$USB_PRODUCT_CONCEPTRONIC2_C54RU";
++	action "kldload if_ural";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_DLINK";
++	match "product" "$USB_PRODUCT_DLINK_DWLG122";
++	action "kldload if_ural";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_GIGABYTE";
++	match "product" "($USB_PRODUCT_GIGABYTE_GN54G|$USB_PRODUCT_GIGABYTE_GNWBKG)";
++	action "kldload if_ural";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_GUILLEMOT";
++	match "product" "$USB_PRODUCT_GUILLEMOT_HWGUSB254";
++	action "kldload if_ural";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_MELCO";
++	match "product" "($USB_PRODUCT_MELCO_KG54|$USB_PRODUCT_MELCO_KG54AI|$USB_PRODUCT_MELCO_KG54YB|$USB_PRODUCT_MELCO_NINWIFI)";
++	action "kldload if_ural";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_MSI";
++	match "product" "($USB_PRODUCT_MSI_RT2570|$USB_PRODUCT_MSI_RT2570_2|$USB_PRODUCT_MSI_RT2570_3)";
++	action "kldload if_ural";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_NOVATECH";
++	match "product" "$USB_PRODUCT_NOVATECH_NV902";
++	action "kldload if_ural";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_RALINK";
++	match "product" "($USB_PRODUCT_RALINK_RT2570|$USB_PRODUCT_RALINK_RT2570_2|$USB_PRODUCT_RALINK_RT2570_3)";
++	action "kldload if_ural";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_SIEMENS2";
++	match "product" "$USB_PRODUCT_SIEMENS2_WL54G";
++	action "kldload if_ural";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_SMC";
++	match "product" "$USB_PRODUCT_SMC_2862WG";
++	action "kldload if_ural";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_SPHAIRON";
++	match "product" "$USB_PRODUCT_SPHAIRON_UB801R";
++	action "kldload if_ural";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_SURECOM";
++	match "product" "$USB_PRODUCT_SURECOM_RT2570";
++	action "kldload if_ural";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_VTECH";
++	match "product" "$USB_PRODUCT_VTECH_RT2570";
++	action "kldload if_ural";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_ZINWELL";
++	match "product" "$USB_PRODUCT_ZINWELL_RT2570";
++	action "kldload if_ural";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_NETGEAR";
++	match "product" "($USB_PRODUCT_NETGEAR_WG111V3|$USB_PRODUCT_NETGEAR_WG111V2|0x6100)";
++	action "kldload if_urtw";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_REALTEK";
++	match "product" "($USB_PRODUCT_REALTEK_RTL8187B_0|$USB_PRODUCT_REALTEK_RTL8187B_1|$USB_PRODUCT_REALTEK_RTL8187B_2|$USB_PRODUCT_REALTEK_RTL8187)";
++	action "kldload if_urtw";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_SITECOMEU";
++	match "product" "($USB_PRODUCT_SITECOMEU_WL168V4|$USB_PRODUCT_SITECOMEU_WL168V1)";
++	action "kldload if_urtw";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_ASUS";
++	match "product" "$USB_PRODUCT_ASUS_P5B_WIFI";
++	action "kldload if_urtw";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_BELKIN";
++	match "product" "$USB_PRODUCT_BELKIN_F5D7050E";
++	action "kldload if_urtw";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_LINKSYS4";
++	match "product" "$USB_PRODUCT_LINKSYS4_WUSB54GCV2";
++	action "kldload if_urtw";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_SURECOM";
++	match "product" "$USB_PRODUCT_SURECOM_EP9001G2A";
++	action "kldload if_urtw";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_OVISLINK";
++	match "product" "0x8187";
++	action "kldload if_urtw";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_DICKSMITH";
++	match "product" "0x9401";
++	action "kldload if_urtw";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_HP";
++	match "product" "0xca02";
++	action "kldload if_urtw";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_LOGITEC";
++	match "product" "0x010c";
++	action "kldload if_urtw";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_SPHAIRON";
++	match "product" "0x0150";
++	action "kldload if_urtw";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_QCOM";
++	match "product" "0x6232";
++	action "kldload if_urtw";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_3COM2";
++	match "product" "$USB_PRODUCT_3COM2_3CRUSB10075";
++	action "kldload if_zyd";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_ABOCOM";
++	match "product" "$USB_PRODUCT_ABOCOM_WL54";
++	action "kldload if_zyd";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_ASUS";
++	match "product" "$USB_PRODUCT_ASUS_WL159G";
++	action "kldload if_zyd";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_CYBERTAN";
++	match "product" "$USB_PRODUCT_CYBERTAN_TG54USB";
++	action "kldload if_zyd";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_DRAYTEK";
++	match "product" "$USB_PRODUCT_DRAYTEK_VIGOR550";
++	action "kldload if_zyd";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_PLANEX2";
++	match "product" "($USB_PRODUCT_PLANEX2_GWUS54GD|$USB_PRODUCT_PLANEX2_GWUS54GZL)";
++	action "kldload if_zyd";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_PLANEX3";
++	match "product" "($USB_PRODUCT_PLANEX3_GWUS54GZ|$USB_PRODUCT_PLANEX3_GWUS54MINI)";
++	action "kldload if_zyd";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_SAGEM";
++	match "product" "$USB_PRODUCT_SAGEM_XG760A";
++	action "kldload if_zyd";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_SENAO";
++	match "product" "$USB_PRODUCT_SENAO_NUB8301";
++	action "kldload if_zyd";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_SITECOMEU";
++	match "product" "$USB_PRODUCT_SITECOMEU_WL113";
++	action "kldload if_zyd";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_SWEEX";
++	match "product" "$USB_PRODUCT_SWEEX_ZD1211";
++	action "kldload if_zyd";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_TEKRAM";
++	match "product" "($USB_PRODUCT_TEKRAM_QUICKWLAN|$USB_PRODUCT_TEKRAM_ZD1211_1|$USB_PRODUCT_TEKRAM_ZD1211_2)";
++	action "kldload if_zyd";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_TWINMOS";
++	match "product" "$USB_PRODUCT_TWINMOS_G240";
++	action "kldload if_zyd";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_UMEDIA";
++	match "product" "($USB_PRODUCT_UMEDIA_ALL0298V2|$USB_PRODUCT_UMEDIA_TEW429UB_A|$USB_PRODUCT_UMEDIA_TEW429UB)";
++	action "kldload if_zyd";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_WISTRONNEWEB";
++	match "product" "$USB_PRODUCT_WISTRONNEWEB_UR055G";
++	action "kldload if_zyd";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_ZCOM";
++	match "product" "$USB_PRODUCT_ZCOM_ZD1211";
++	action "kldload if_zyd";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_ZYDAS";
++	match "product" "$USB_PRODUCT_ZYDAS_ZD1211";
++	action "kldload if_zyd";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_ZYXEL";
++	match "product" "($USB_PRODUCT_ZYXEL_AG225H|$USB_PRODUCT_ZYXEL_ZYAIRG220|$USB_PRODUCT_ZYXEL_G200V2)";
++	action "kldload if_zyd";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_ACCTON";
++	match "product" "($USB_PRODUCT_ACCTON_SMCWUSBG_NF|$USB_PRODUCT_ACCTON_SMCWUSBG|$USB_PRODUCT_ACCTON_ZD1211B)";
++	action "kldload if_zyd";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_ASUS";
++	match "product" "$USB_PRODUCT_ASUS_A9T_WIFI";
++	action "kldload if_zyd";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_BELKIN";
++	match "product" "($USB_PRODUCT_BELKIN_F5D7050_V4000|$USB_PRODUCT_BELKIN_ZD1211B)";
++	action "kldload if_zyd";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_CISCOLINKSYS";
++	match "product" "$USB_PRODUCT_CISCOLINKSYS_WUSBF54G";
++	action "kldload if_zyd";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_FIBERLINE";
++	match "product" "$USB_PRODUCT_FIBERLINE_WL430U";
++	action "kldload if_zyd";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_MELCO";
++	match "product" "$USB_PRODUCT_MELCO_KG54L";
++	action "kldload if_zyd";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_PHILIPS";
++	match "product" "$USB_PRODUCT_PHILIPS_SNU5600";
++	action "kldload if_zyd";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_PLANEX2";
++	match "product" "$USB_PRODUCT_PLANEX2_GW_US54GXS";
++	action "kldload if_zyd";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_SAGEM";
++	match "product" "$USB_PRODUCT_SAGEM_XG76NA";
++	action "kldload if_zyd";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_SITECOMEU";
++	match "product" "$USB_PRODUCT_SITECOMEU_ZD1211B";
++	action "kldload if_zyd";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_UMEDIA";
++	match "product" "$USB_PRODUCT_UMEDIA_TEW429UBC1";
++	action "kldload if_zyd";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_USR";
++	match "product" "$USB_PRODUCT_USR_USR5423";
++	action "kldload if_zyd";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_VTECH";
++	match "product" "$USB_PRODUCT_VTECH_ZD1211B";
++	action "kldload if_zyd";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_ZCOM";
++	match "product" "$USB_PRODUCT_ZCOM_ZD1211B";
++	action "kldload if_zyd";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_ZYDAS";
++	match "product" "$USB_PRODUCT_ZYDAS_ZD1211B";
++	action "kldload if_zyd";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_ZYXEL";
++	match "product" "($USB_PRODUCT_ZYXEL_M202|$USB_PRODUCT_ZYXEL_G202|$USB_PRODUCT_ZYXEL_G220V2)";
++	action "kldload if_zyd";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_ACERP";
++	match "product" "$USB_PRODUCT_ACERP_H10";
++	action "kldload u3g";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_AIRPLUS";
++	match "product" "$USB_PRODUCT_AIRPLUS_MCD650";
++	action "kldload u3g";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_AIRPRIME";
++	match "product" "$USB_PRODUCT_AIRPRIME_PC5220";
++	action "kldload u3g";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_ALINK";
++	match "product" "($USB_PRODUCT_ALINK_3G|$USB_PRODUCT_ALINK_3GU|$USB_PRODUCT_ALINK_DWM652U5)";
++	action "kldload u3g";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_AMOI";
++	match "product" "($USB_PRODUCT_AMOI_H01|$USB_PRODUCT_AMOI_H01A|$USB_PRODUCT_AMOI_H02)";
++	action "kldload u3g";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_ANYDATA";
++	match "product" "($USB_PRODUCT_ANYDATA_ADU_500A|$USB_PRODUCT_ANYDATA_ADU_620UW|$USB_PRODUCT_ANYDATA_ADU_E100X)";
++	action "kldload u3g";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_AXESSTEL";
++	match "product" "$USB_PRODUCT_AXESSTEL_DATAMODEM";
++	action "kldload u3g";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_CMOTECH";
++	match "product" "$USB_PRODUCT_CMOTECH_CDMA_MODEM1";
++	action "kldload u3g";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_DELL";
++	match "product" "($USB_PRODUCT_DELL_U5500|$USB_PRODUCT_DELL_U5505|$USB_PRODUCT_DELL_U5510|$USB_PRODUCT_DELL_U5520|$USB_PRODUCT_DELL_U5520_2|$USB_PRODUCT_DELL_U5520_3|$USB_PRODUCT_DELL_U5700|$USB_PRODUCT_DELL_U5700_2|$USB_PRODUCT_DELL_U5700_3|$USB_PRODUCT_DELL_U5700_4|$USB_PRODUCT_DELL_U5720|$USB_PRODUCT_DELL_U5720_2|$USB_PRODUCT_DELL_U5730|$USB_PRODUCT_DELL_U5730_2|$USB_PRODUCT_DELL_U5730_3|$USB_PRODUCT_DELL_U740)";
++	action "kldload u3g";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_DLINK3";
++	match "product" "$USB_PRODUCT_DLINK3_DWM652";
++	action "kldload u3g";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_HP";
++	match "product" "($USB_PRODUCT_HP_EV2200|$USB_PRODUCT_HP_HS2300)";
++	action "kldload u3g";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_KYOCERA2";
++	match "product" "($USB_PRODUCT_KYOCERA2_CDMA_MSM_K|$USB_PRODUCT_KYOCERA2_KPC680)";
++	action "kldload u3g";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_LONGCHEER";
++	match "product" "$USB_PRODUCT_LONGCHEER_W14";
++	action "kldload u3g";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_MERLIN";
++	match "product" "$USB_PRODUCT_MERLIN_V620";
++	action "kldload u3g";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_NEOTEL";
++	match "product" "$USB_PRODUCT_NEOTEL_PRIME";
++	action "kldload u3g";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_NOVATEL";
++	match "product" "($USB_PRODUCT_NOVATEL_E725|$USB_PRODUCT_NOVATEL_ES620|$USB_PRODUCT_NOVATEL_ES620_2|$USB_PRODUCT_NOVATEL_EU730|$USB_PRODUCT_NOVATEL_EU740|$USB_PRODUCT_NOVATEL_EU870D|$USB_PRODUCT_NOVATEL_MC760|$USB_PRODUCT_NOVATEL_MC547|$USB_PRODUCT_NOVATEL_MC950D|$USB_PRODUCT_NOVATEL_U720|$USB_PRODUCT_NOVATEL_U727|$USB_PRODUCT_NOVATEL_U727_2|$USB_PRODUCT_NOVATEL_U740|$USB_PRODUCT_NOVATEL_U740_2|$USB_PRODUCT_NOVATEL_U870|$USB_PRODUCT_NOVATEL_V620|$USB_PRODUCT_NOVATEL_V640|$USB_PRODUCT_NOVATEL_V720|$USB_PRODUCT_NOVATEL_V740|$USB_PRODUCT_NOVATEL_X950D|$USB_PRODUCT_NOVATEL_XU870)";
++	action "kldload u3g";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_OPTION";
++	match "product" "($USB_PRODUCT_OPTION_E6500|$USB_PRODUCT_OPTION_E6501|$USB_PRODUCT_OPTION_E6601|$USB_PRODUCT_OPTION_E6721|$USB_PRODUCT_OPTION_E6741|$USB_PRODUCT_OPTION_E6761|$USB_PRODUCT_OPTION_E6800|$USB_PRODUCT_OPTION_E7021|$USB_PRODUCT_OPTION_E7041|$USB_PRODUCT_OPTION_E7061|$USB_PRODUCT_OPTION_E7100|$USB_PRODUCT_OPTION_GE40X|$USB_PRODUCT_OPTION_GT3G|$USB_PRODUCT_OPTION_GT3GPLUS|$USB_PRODUCT_OPTION_GT3GQUAD|$USB_PRODUCT_OPTION_GT3G_1|$USB_PRODUCT_OPTION_GT3G_2|$USB_PRODUCT_OPTION_GT3G_3|$USB_PRODUCT_OPTION_GT3G_4|$USB_PRODUCT_OPTION_GT3G_5|$USB_PRODUCT_OPTION_GT3G_6|$USB_PRODUCT_OPTION_GTHSDPA|$USB_PRODUCT_OPTION_GTM380|$USB_PRODUCT_OPTION_GTMAX36|$USB_PRODUCT_OPTION_GTMAX380HSUPAE|$USB_PRODUCT_OPTION_GTMAXHSUPA|$USB_PRODUCT_OPTION_GTMAXHSUPAE|$USB_PRODUCT_OPTION_VODAFONEMC3G)";
++	action "kldload u3g";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_QISDA";
++	match "product" "($USB_PRODUCT_QISDA_H20_1|$USB_PRODUCT_QISDA_H20_2|$USB_PRODUCT_QISDA_H21_1|$USB_PRODUCT_QISDA_H21_2)";
++	action "kldload u3g";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_QUALCOMM2";
++	match "product" "($USB_PRODUCT_QUALCOMM2_AC8700|$USB_PRODUCT_QUALCOMM2_MF330)";
++	action "kldload u3g";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_QUALCOMMINC";
++	match "product" "($USB_PRODUCT_QUALCOMMINC_AC2726|$USB_PRODUCT_QUALCOMMINC_AC8700|$USB_PRODUCT_QUALCOMMINC_AC8710|$USB_PRODUCT_QUALCOMMINC_E0002|$USB_PRODUCT_QUALCOMMINC_E0003|$USB_PRODUCT_QUALCOMMINC_E0004|$USB_PRODUCT_QUALCOMMINC_E0005|$USB_PRODUCT_QUALCOMMINC_E0006|$USB_PRODUCT_QUALCOMMINC_E0007|$USB_PRODUCT_QUALCOMMINC_E0008|$USB_PRODUCT_QUALCOMMINC_E0009|$USB_PRODUCT_QUALCOMMINC_E000A|$USB_PRODUCT_QUALCOMMINC_E000B|$USB_PRODUCT_QUALCOMMINC_E000C|$USB_PRODUCT_QUALCOMMINC_E000D|$USB_PRODUCT_QUALCOMMINC_E000E|$USB_PRODUCT_QUALCOMMINC_E000F|$USB_PRODUCT_QUALCOMMINC_E0010|$USB_PRODUCT_QUALCOMMINC_E0011|$USB_PRODUCT_QUALCOMMINC_E0012|$USB_PRODUCT_QUALCOMMINC_E0013|$USB_PRODUCT_QUALCOMMINC_E0014|$USB_PRODUCT_QUALCOMMINC_E0017|$USB_PRODUCT_QUALCOMMINC_E0018|$USB_PRODUCT_QUALCOMMINC_E0019|$USB_PRODUCT_QUALCOMMINC_E0020|$USB_PRODUCT_QUALCOMMINC_E0021|$USB_PRODUCT_QUALCOMMINC_E0022|$USB_PRODUCT_QUALCOMMINC_E0023|$USB_PRODUCT_QUALCOMMINC_E0024|$USB_PRODUCT_QUALCOMMINC_E0025|$USB_PRODUCT_QUALCOMMINC_E0026|$USB_PRODUCT_QUALCOMMINC_E0027|$USB_PRODUCT_QUALCOMMINC_E0028|$USB_PRODUCT_QUALCOMMINC_E0029|$USB_PRODUCT_QUALCOMMINC_E0030|$USB_PRODUCT_QUALCOMMINC_E0032|$USB_PRODUCT_QUALCOMMINC_E0033|$USB_PRODUCT_QUALCOMMINC_E0037|$USB_PRODUCT_QUALCOMMINC_E0039|$USB_PRODUCT_QUALCOMMINC_E0042|$USB_PRODUCT_QUALCOMMINC_E0043|$USB_PRODUCT_QUALCOMMINC_E0048|$USB_PRODUCT_QUALCOMMINC_E0049|$USB_PRODUCT_QUALCOMMINC_E0051|$USB_PRODUCT_QUALCOMMINC_E0052|$USB_PRODUCT_QUALCOMMINC_E0054|$USB_PRODUCT_QUALCOMMINC_E0055|$USB_PRODUCT_QUALCOMMINC_E0057|$USB_PRODUCT_QUALCOMMINC_E0058|$USB_PRODUCT_QUALCOMMINC_E0059|$USB_PRODUCT_QUALCOMMINC_E0060|$USB_PRODUCT_QUALCOMMINC_E0061|$USB_PRODUCT_QUALCOMMINC_E0062|$USB_PRODUCT_QUALCOMMINC_E0063|$USB_PRODUCT_QUALCOMMINC_E0064|$USB_PRODUCT_QUALCOMMINC_E0066|$USB_PRODUCT_QUALCOMMINC_E0069|$USB_PRODUCT_QUALCOMMINC_E0070|$USB_PRODUCT_QUALCOMMINC_E0073|$USB_PRODUCT_QUALCOMMINC_E0076|$USB_PRODUCT_QUALCOMMINC_E0078|$USB_PRODUCT_QUALCOMMINC_E0082|$USB_PRODUCT_QUALCOMMINC_E0086|$USB_PRODUCT_QUALCOMMINC_SURFSTICK|$USB_PRODUCT_QUALCOMMINC_E2002|$USB_PRODUCT_QUALCOMMINC_E2003|$USB_PRODUCT_QUALCOMMINC_MF626|$USB_PRODUCT_QUALCOMMINC_MF628|$USB_PRODUCT_QUALCOMMINC_MF633R)";
++	action "kldload u3g";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_QUANTA";
++	match "product" "($USB_PRODUCT_QUANTA_GKE|$USB_PRODUCT_QUANTA_GLE|$USB_PRODUCT_QUANTA_GLX|$USB_PRODUCT_QUANTA_Q101|$USB_PRODUCT_QUANTA_Q111)";
++	action "kldload u3g";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_SIERRA";
++	match "product" "($USB_PRODUCT_SIERRA_AC402|$USB_PRODUCT_SIERRA_AC595U|$USB_PRODUCT_SIERRA_AC597E|$USB_PRODUCT_SIERRA_AC875E|$USB_PRODUCT_SIERRA_AC875U|$USB_PRODUCT_SIERRA_AC875U_2|$USB_PRODUCT_SIERRA_AC880|$USB_PRODUCT_SIERRA_AC880E|$USB_PRODUCT_SIERRA_AC880U|$USB_PRODUCT_SIERRA_AC881|$USB_PRODUCT_SIERRA_AC881E|$USB_PRODUCT_SIERRA_AC881U|$USB_PRODUCT_SIERRA_AC885E|$USB_PRODUCT_SIERRA_AC885E_2|$USB_PRODUCT_SIERRA_AC885U|$USB_PRODUCT_SIERRA_AIRCARD580|$USB_PRODUCT_SIERRA_AIRCARD595|$USB_PRODUCT_SIERRA_AIRCARD875|$USB_PRODUCT_SIERRA_C22|$USB_PRODUCT_SIERRA_C597|$USB_PRODUCT_SIERRA_C888|$USB_PRODUCT_SIERRA_E0029|$USB_PRODUCT_SIERRA_E6892|$USB_PRODUCT_SIERRA_E6893|$USB_PRODUCT_SIERRA_EM5625|$USB_PRODUCT_SIERRA_EM5725|$USB_PRODUCT_SIERRA_MC5720|$USB_PRODUCT_SIERRA_MC5720_2|$USB_PRODUCT_SIERRA_MC5725|$USB_PRODUCT_SIERRA_MC5727|$USB_PRODUCT_SIERRA_MC5727_2|$USB_PRODUCT_SIERRA_MC5728|$USB_PRODUCT_SIERRA_MC8700|$USB_PRODUCT_SIERRA_MC8755|$USB_PRODUCT_SIERRA_MC8755_2|$USB_PRODUCT_SIERRA_MC8755_3|$USB_PRODUCT_SIERRA_MC8755_4|$USB_PRODUCT_SIERRA_MC8765|$USB_PRODUCT_SIERRA_MC8765_2|$USB_PRODUCT_SIERRA_MC8765_3|$USB_PRODUCT_SIERRA_MC8775|$USB_PRODUCT_SIERRA_MC8775_2|$USB_PRODUCT_SIERRA_MC8780|$USB_PRODUCT_SIERRA_MC8780_2|$USB_PRODUCT_SIERRA_MC8780_3|$USB_PRODUCT_SIERRA_MC8781|$USB_PRODUCT_SIERRA_MC8781_2|$USB_PRODUCT_SIERRA_MC8781_3|$USB_PRODUCT_SIERRA_MC8785|$USB_PRODUCT_SIERRA_MC8785_2|$USB_PRODUCT_SIERRA_MC8790|$USB_PRODUCT_SIERRA_MC8791|$USB_PRODUCT_SIERRA_MC8792|$USB_PRODUCT_SIERRA_MINI5725|$USB_PRODUCT_SIERRA_T11|$USB_PRODUCT_SIERRA_T598)";
++	action "kldload u3g";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_STELERA";
++	match "product" "$USB_PRODUCT_STELERA_C105|$USB_PRODUCT_STELERA_E1003|$USB_PRODUCT_STELERA_E1004|$USB_PRODUCT_STELERA_E1005|$USB_PRODUCT_STELERA_E1006|$USB_PRODUCT_STELERA_E1007|$USB_PRODUCT_STELERA_E1008|$USB_PRODUCT_STELERA_E1009|$USB_PRODUCT_STELERA_E100A|$USB_PRODUCT_STELERA_E100B|$USB_PRODUCT_STELERA_E100C|$USB_PRODUCT_STELERA_E100D|$USB_PRODUCT_STELERA_E100E|$USB_PRODUCT_STELERA_E100F|$USB_PRODUCT_STELERA_E1010|$USB_PRODUCT_STELERA_E1011|$USB_PRODUCT_STELERA_E1012)";
++	action "kldload u3g";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_TCTMOBILE";
++	match "product" "$USB_PRODUCT_TCTMOBILE_X060S";
++	action "kldload u3g";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_TELIT";
++	match "product" "($USB_PRODUCT_TELIT_UC864E|$USB_PRODUCT_TELIT_UC864G)";
++	action "kldload u3g";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_TLAYTECH";
++	match "product" "$USB_PRODUCT_TLAYTECH_TEU800";
++	action "kldload u3g";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_TOSHIBA";
++	match "product" "($USB_PRODUCT_TOSHIBA_G450|$USB_PRODUCT_TOSHIBA_HSDPA)";
++	action "kldload u3g";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_YISO";
++	match "product" "$USB_PRODUCT_YISO_C893";
++	action "kldload u3g";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_ARKMICRO";
++	match "product" "$USB_PRODUCT_ARKMICRO_ARK3116";
++	action "kldload uark";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_ANYDATA";
++	match "product" "($USB_PRODUCT_ANYDATA_ADU_500A|$USB_PRODUCT_ANYDATA_ADU_E100X)";
++	action "kldload ubsa";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_AXESSTEL";
++	match "product" "$USB_PRODUCT_AXESSTEL_DATAMODEM";
++	action "kldload ubsa";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_BELKIN";
++	match "product" "($USB_PRODUCT_BELKIN_F5U103|$USB_PRODUCT_BELKIN_F5U120)";
++	action "kldload ubsa";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_ETEK";
++	match "product" "$USB_PRODUCT_ETEK_1COM";
++	action "kldload ubsa";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_GOHUBS";
++	match "product" "$USB_PRODUCT_GOHUBS_GOCOM232";
++	action "kldload ubsa";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_PERACOM";
++	match "product" "$USB_PRODUCT_PERACOM_SERIAL1";
++	action "kldload ubsa";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_WCH";
++	match "product" "$USB_PRODUCT_WCH_CH341SER";
++	action "kldload uchcom";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_WCH2";
++	match "product" "$USB_PRODUCT_WCH2_CH341SER";
++	action "kldload uchcom";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_DELORME";
++	match "product" "$USB_PRODUCT_DELORME_EARTHMATE";
++	action "kldload ucycom";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_NETCHIP";
++	match "product" "$USB_PRODUCT_NETCHIP_TURBOCONNECT";
++	action "kldload udbp";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_PROLIFIC";
++	match "product" "($USB_PRODUCT_PROLIFIC_PL2301|$USB_PRODUCT_PROLIFIC_PL2302)";
++	action "kldload udbp";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_ANCHOR";
++	match "product" "$USB_PRODUCT_ANCHOR_EZLINK";
++	action "kldload udbp";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_GENESYS";
++	match "product" "$USB_PRODUCT_GENESYS_GL620USB";
++	action "kldload udbp";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_EGALAX";
++	match "product" "($USB_PRODUCT_EGALAX_TPANEL|$USB_PRODUCT_EGALAX_TPANEL2)";
++	action "kldload uep";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_EGALAX2";
++	match "product" "$USB_PRODUCT_EGALAX_TPANEL2";
++	action "kldload uep";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_CYPRESS";
++	match "product" "$USB_PRODUCT_CYPRESS_FMRADIO";
++	action "kldload ufm";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_ATMEL";
++	match "product" "$USB_PRODUCT_ATMEL_STK541";
++	action "kldload uftdi";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_DRESDENELEKTRONIK";
++	match "product" "($USB_PRODUCT_DRESDENELEKTRONIK_SENSORTERMINALBOARD|$USB_PRODUCT_DRESDENELEKTRONIK_WIRELESSHANDHELDTERMINAL)";
++	action "kldload uftdi";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_FALCOM";
++	match "product" "$USB_PRODUCT_FALCOM_TWIST";
++	action "kldload uftdi";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_FTDI";
++	match "product" "($USB_PRODUCT_FTDI_GAMMASCOUT|$USB_PRODUCT_FTDI_SERIAL_8U100AX|$USB_PRODUCT_FTDI_SERIAL_2232C|$USB_PRODUCT_FTDI_SERIAL_2232D|$USB_PRODUCT_FTDI_SERIAL_4232H|$USB_PRODUCT_FTDI_SERIAL_8U232AM|$USB_PRODUCT_FTDI_SERIAL_8U232AM4|$USB_PRODUCT_FTDI_SEMC_DSS20|$USB_PRODUCT_FTDI_CFA_631|$USB_PRODUCT_FTDI_CFA_632|$USB_PRODUCT_FTDI_CFA_633|$USB_PRODUCT_FTDI_CFA_634|$USB_PRODUCT_FTDI_CFA_635|$USB_PRODUCT_FTDI_USB_UIRT|$USB_PRODUCT_FTDI_USBSERIAL|$USB_PRODUCT_FTDI_KBS|$USB_PRODUCT_FTDI_MX2_3|$USB_PRODUCT_FTDI_MX4_5|$USB_PRODUCT_FTDI_LK202|$USB_PRODUCT_FTDI_LK204|$USB_PRODUCT_FTDI_TACTRIX_OPENPORT_13M|$USB_PRODUCT_FTDI_TACTRIX_OPENPORT_13S|$USB_PRODUCT_FTDI_TACTRIX_OPENPORT_13U|$USB_PRODUCT_FTDI_EISCOU|$USB_PRODUCT_FTDI_UOPTBR|$USB_PRODUCT_FTDI_EMCU2D|$USB_PRODUCT_FTDI_PCMSFU|$USB_PRODUCT_FTDI_EMCU2H|$USB_PRODUCT_FTDI_MAXSTREAM|$USB_PRODUCT_FTDI_CTI_USB_NANO_485|$USB_PRODUCT_FTDI_CTI_USB_MINI_485)";
++	action "kldload uftdi";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_SIIG2";
++	match "product" "$USB_PRODUCT_SIIG2_US2308";
++	action "kldload uftdi";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_INTREPIDCS";
++	match "product" "($USB_PRODUCT_INTREPIDCS_VALUECAN|$USB_PRODUCT_INTREPIDCS_NEOVI)";
++	action "kldload uftdi";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_BBELECTRONICS";
++	match "product" "$USB_PRODUCT_BBELECTRONICS_USOTL4";
++	action "kldload uftdi";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_MATRIXORBITAL";
++	match "product" "$USB_PRODUCT_MATRIXORBITAL_MOUA";
++	action "kldload uftdi";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_MARVELL";
++	match "product" "$USB_PRODUCT_MARVELL_SHEEVAPLUG";
++	action "kldload uftdi";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_MELCO";
++	match "product" "$USB_PRODUCT_MELCO_PCOPRS1";
++	action "kldload uftdi";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_RATOC";
++	match "product" "$USB_PRODUCT_RATOC_REXUSB60F";
++	action "kldload uftdi";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_AIRPRIME";
++	match "product" "$USB_PRODUCT_AIRPRIME_PC5220";
++	action "kldload ugensa";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_CMOTECH";
++	match "product" "$USB_PRODUCT_CMOTECH_CDMA_MODEM1";
++	action "kldload ugensa";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_KYOCERA2";
++	match "product" "$USB_PRODUCT_KYOCERA2_CDMA_MSM_K";
++	action "kldload ugensa";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_HP";
++	match "product" "$USB_PRODUCT_HP_49GPLUS";
++	action "kldload ugensa";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_NOVATEL2";
++	match "product" "$USB_PRODUCT_NOVATEL2_FLEXPACKGPS";
++	action "kldload ugensa";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_OPTION";
++	match "product" "($USB_PRODUCT_OPTION_GSICON72|$USB_PRODUCT_OPTION_GTHSDPA|$USB_PRODUCT_OPTION_GSICONHSUPA|$USB_PRODUCT_OPTION_GTHSUPA|$USB_PRODUCT_OPTION_GE40X|$USB_PRODUCT_OPTION_GE40X_1|$USB_PRODUCT_OPTION_GE40X_2|$USB_PRODUCT_OPTION_GE40X_3|$USB_PRODUCT_OPTION_ICON401|$USB_PRODUCT_OPTION_GMT382|$USB_PRODUCT_OPTION_ICONEDGE|$USB_PRODUCT_OPTION_MODHSXPA|$USB_PRODUCT_OPTION_ICON321|$USB_PRODUCT_OPTION_GTICON322|$USB_PRODUCT_OPTION_ICON505|$USB_PRODUCT_OPTION_ICON505)";
++	action "kldload uhso";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_ASUS";
++	match "product" "$USB_PRODUCT_ASUS_P535";
++	action "kldload uipaq";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_CASIO";
++	match "product" "$USB_PRODUCT_CASIO_BE300";
++	action "kldload uipaq";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_COMPAQ";
++	match "product" "$USB_PRODUCT_COMPAQ_IPAQPOCKETPC";
++	action "kldload uipaq";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_HP";
++	match "product" "($USB_PRODUCT_HP_2215|$USB_PRODUCT_HP_568J)";
++	action "kldload uipaq";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_HTC";
++	match "product" "($USB_PRODUCT_HTC_PPC6700MODEM|$USB_PRODUCT_HTC_SMARTPHONE|$USB_PRODUCT_HTC_WINMOBILE|$USB_PRODUCT_HTC_WIZARD)";
++	action "kldload uipaq";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_SHARP";
++	match "product" "($USB_PRODUCT_SHARP_WZERO3ES|$USB_PRODUCT_SHARP_WZERO3ADES|$USB_PRODUCT_SHARP_WILLCOM03)";
++	action "kldload uipaq";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_TOSHIBA";
++	match "product" "$USB_PRODUCT_TOSHIBA_POCKETPC_E740";
++	action "kldload uipaq";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_MOSCHIP";
++	match "product" "($USB_PRODUCT_MOSCHIP_MCS7820|$USB_PRODUCT_MOSCHIP_MCS7840)";
++	action "kldload umcs";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_MCT";
++	match "product" "($USB_PRODUCT_MCT_USB232|$USB_PRODUCT_MCT_SITECOM_USB232|$USB_PRODUCT_MCT_DU_H3SP_USB232)";
++	action "kldload umct";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_BELKIN";
++	match "product" "($USB_PRODUCT_BELKIN_F5U109|$USB_PRODUCT_BELKIN_F5U409)";
++	action "kldload umct";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_KYOCERA";
++	match "product" "$USB_PRODUCT_KYOCERA_AHK3001V";
++	action "kldload umodem";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_SIERRA";
++	match "product" "$USB_PRODUCT_SIERRA_MC5720";
++	action "kldload umodem";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_CURITEL";
++	match "product" "$USB_PRODUCT_CURITEL_PC5740";
++	action "kldload umodem";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_MOSCHIP";
++	match "product" "$USB_PRODUCT_MOSCHIP_MCS7703";
++	action "kldload umoscom";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_ACERP";
++	match "product" "$USB_PRODUCT_ACERP_S81";
++	action "kldload uplcom";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_ADLINK";
++	match "product" "$USB_PRODUCT_ADLINK_ND6530";
++	action "kldload uplcom";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_ALCATEL";
++	match "product" "$USB_PRODUCT_ALCATEL_OT535";
++	action "kldload uplcom";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_ALCOR";
++	match "product" "$USB_PRODUCT_ALCOR_AU9720";
++	action "kldload uplcom";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_ANCHOR";
++	match "product" "$USB_PRODUCT_ANCHOR_SERIAL";
++	action "kldload uplcom";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_ATEN";
++	match "product" "$USB_PRODUCT_ATEN_UC232A";
++	action "kldload uplcom";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_BELKIN";
++	match "product" "$USB_PRODUCT_BELKIN_F5U257";
++	action "kldload uplcom";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_COREGA";
++	match "product" "$USB_PRODUCT_COREGA_CGUSBRS232R";
++	action "kldload uplcom";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_EPSON";
++	match "product" "($USB_PRODUCT_EPSON_CRESSI_EDY|$USB_PRODUCT_EPSON_N2ITION3)";
++	action "kldload uplcom";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_ELECOM";
++	match "product" "($USB_PRODUCT_ELECOM_UCSGT|$USB_PRODUCT_ELECOM_UCSGT0)";
++	action "kldload uplcom";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_HAL";
++	match "product" "$USB_PRODUCT_HAL_IMR001";
++	action "kldload uplcom";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_HP";
++	match "product" "$USB_PRODUCT_HP_LD220";
++	action "kldload uplcom";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_IODATA";
++	match "product" "($USB_PRODUCT_IODATA_USBRSAQ|$USB_PRODUCT_IODATA_USBRSAQ5)";
++	action "kldload uplcom";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_ITEGNO";
++	match "product" "($USB_PRODUCT_ITEGNO_WM1080A|$USB_PRODUCT_ITEGNO_WM2080A)";
++	action "kldload uplcom";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_LEADTEK";
++	match "product" "$USB_PRODUCT_LEADTEK_9531";
++	action "kldload uplcom";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_MICROSOFT";
++	match "product" "$USB_PRODUCT_MICROSOFT_700WX";
++	action "kldload uplcom";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_MOBILEACTION";
++	match "product" "$USB_PRODUCT_MOBILEACTION_MA620";
++	action "kldload uplcom";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_NETINDEX";
++	match "product" "$USB_PRODUCT_NETINDEX_WS002IN";
++	action "kldload uplcom";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_NOKIA2";
++	match "product" "$USB_PRODUCT_NOKIA2_CA42";
++	action "kldload uplcom";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_OTI";
++	match "product" "$USB_PRODUCT_OTI_DKU5";
++	action "kldload uplcom";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_PANASONIC";
++	match "product" "$USB_PRODUCT_PANASONIC_TYTP50P6S";
++	action "kldload uplcom";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_PLX";
++	match "product" "$USB_PRODUCT_PLX_CA42";
++	action "kldload uplcom";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_PROLIFIC";
++	match "product" "($USB_PRODUCT_PROLIFIC_ALLTRONIX_GPRS|$USB_PRODUCT_PROLIFIC_ALDIGA_AL11U|$USB_PRODUCT_PROLIFIC_DCU11|$USB_PRODUCT_PROLIFIC_HCR331|$USB_PRODUCT_PROLIFIC_MICROMAX_610U|$USB_PRODUCT_PROLIFIC_PHAROS|$USB_PRODUCT_PROLIFIC_PL2303|$USB_PRODUCT_PROLIFIC_RSAQ2|$USB_PRODUCT_PROLIFIC_RSAQ3|$USB_PRODUCT_PROLIFIC_UIC_MSR206)";
++	action "kldload uplcom";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_PROLIFIC2";
++	match "product" "$USB_PRODUCT_PROLIFIC2_PL2303";
++	action "kldload uplcom";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_RADIOSHACK";
++	match "product" "$USB_PRODUCT_RADIOSHACK_USBCABLE";
++	action "kldload uplcom";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_RATOC";
++	match "product" "$USB_PRODUCT_RATOC_REXUSB60";
++	action "kldload uplcom";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_SAGEM";
++	match "product" "$USB_PRODUCT_SAGEM_USBSERIAL";
++	action "kldload uplcom";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_SAMSUNG";
++	match "product" "$USB_PRODUCT_SAMSUNG_I330";
++	action "kldload uplcom";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_SANWA";
++	match "product" "$USB_PRODUCT_SANWA_KB_USB2";
++	action "kldload uplcom";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_SIEMENS3";
++	match "product" "($USB_PRODUCT_SIEMENS3_EF81|$USB_PRODUCT_SIEMENS3_SX1|$USB_PRODUCT_SIEMENS3_X65|$USB_PRODUCT_SIEMENS3_X75)";
++	action "kldload uplcom";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_SITECOM";
++	match "product" "$USB_PRODUCT_SITECOM_SERIAL";
++	action "kldload uplcom";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_SMART";
++	match "product" "$USB_PRODUCT_SMART_PL2303";
++	action "kldload uplcom";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_SONY";
++	match "product" "$USB_PRODUCT_SONY_QN3";
++	action "kldload uplcom";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_SONYERICSSON";
++	match "product" "($USB_PRODUCT_SONYERICSSON_DATAPILOT|$USB_PRODUCT_SONYERICSSON_DCU10)";
++	action "kldload uplcom";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_SOURCENEXT";
++	match "product" "($USB_PRODUCT_SOURCENEXT_KEIKAI8|$USB_PRODUCT_SOURCENEXT_KEIKAI8_CHG)";
++	action "kldload uplcom";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_SPEEDDRAGON";
++	match "product" "$USB_PRODUCT_SPEEDDRAGON_MS3303H";
++	action "kldload uplcom";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_SYNTECH";
++	match "product" "$USB_PRODUCT_SYNTECH_CPT8001C";
++	action "kldload uplcom";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_TDK";
++	match "product" "($USB_PRODUCT_TDK_UHA6400|$USB_PRODUCT_TDK_UPA9664)";
++	action "kldload uplcom";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_TRIPPLITE";
++	match "product" "$USB_PRODUCT_TRIPPLITE_U209";
++	action "kldload uplcom";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_YCCABLE";
++	match "product" "$USB_PRODUCT_YCCABLE_PL2303";
++	action "kldload uplcom";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_DIAMOND";
++	match "product" "$USB_PRODUCT_DIAMOND_RIO500USB";
++	action "kldload urio";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_DIAMOND2";
++	match "product" "($USB_PRODUCT_DIAMOND2_RIO600USB|$USB_PRODUCT_DIAMOND2_RIO800USB)";
++	action "kldload urio";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_BALTECH";
++	match "product" "$USB_PRODUCT_BALTECH_CARDREADER";
++	action "kldload uslcom";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_CLIPSAL";
++	match "product" "$USB_PRODUCT_CLIPSAL_5500PCU";
++	action "kldload uslcom";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_DATAAPEX";
++	match "product" "$USB_PRODUCT_DATAAPEX_MULTICOM";
++	action "kldload uslcom";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_DELL";
++	match "product" "$USB_PRODUCT_DELL_DW700";
++	action "kldload uslcom";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_DIGIANSWER";
++	match "product" "$USB_PRODUCT_DIGIANSWER_ZIGBEE802154";
++	action "kldload uslcom";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_DYNASTREAM";
++	match "product" "($USB_PRODUCT_DYNASTREAM_ANTDEVBOARD|$USB_PRODUCT_DYNASTREAM_ANTDEVBOARD2|$USB_PRODUCT_DYNASTREAM_ANT2USB)";
++	action "kldload uslcom";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_ELV";
++	match "product" "$USB_PRODUCT_ELV_USBI2C";
++	action "kldload uslcom";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_FOXCONN";
++	match "product" "($USB_PRODUCT_FOXCONN_PIRELLI_DP_L10|$USB_PRODUCT_FOXCONN $USB_PRODUCT_FOXCONN_TCOM_TC_300)";
++	action "kldload uslcom";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_GEMALTO";
++	match "product" "$USB_PRODUCT_GEMALTO_PROXPU";
++	action "kldload uslcom";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_JABLOTRON";
++	match "product" "$USB_PRODUCT_JABLOTRON_PC60B";
++	action "kldload uslcom";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_MEI";
++	match "product" "($USB_PRODUCT_MEI_CASHFLOW_SC|$USB_PRODUCT_MEI $USB_PRODUCT_MEI_S2000)";
++	action "kldload uslcom";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_JABLOTRON";
++	match "product" "$USB_PRODUCT_JABLOTRON_PC60B";
++	action "kldload uslcom";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_OWEN";
++	match "product" "$USB_PRODUCT_OWEN_AC4";
++	action "kldload uslcom";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_PHILIPS";
++	match "product" "$USB_PRODUCT_PHILIPS_ACE1001";
++	action "kldload uslcom";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_PLX";
++	match "product" "$USB_PRODUCT_PLX_CA42";
++	action "kldload uslcom";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_RENESAS";
++	match "product" "$USB_PRODUCT_RENESAS_RX610";
++	action "kldload uslcom";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_SILABS";
++	match "product" "($USB_PRODUCT_SILABS_AEROCOMM|$USB_PRODUCT_SILABS_AMBER_AMB2560|$USB_PRODUCT_SILABS_ARGUSISP|$USB_PRODUCT_SILABS_ARKHAM_DS101_A|$USB_PRODUCT_SILABS_ARKHAM_DS101_M|$USB_PRODUCT_SILABS_ARYGON_MIFARE|$USB_PRODUCT_SILABS_AVIT_USB_TTL|$USB_PRODUCT_SILABS_B_G_H3000|$USB_PRODUCT_SILABS_BALLUFF_RFID|$USB_PRODUCT_SILABS_BEI_VCP|$USB_PRODUCT_SILABS_BSM7DUSB|$USB_PRODUCT_SILABS_BURNSIDE|$USB_PRODUCT_SILABS_C2_EDGE_MODEM|$USB_PRODUCT_SILABS_CP2102|$USB_PRODUCT_SILABS_CP210X_2|$USB_PRODUCT_SILABS_CRUMB128|$USB_PRODUCT_SILABS_CYGNAL|$USB_PRODUCT_SILABS_CYGNAL_DEBUG|$USB_PRODUCT_SILABS_CYGNAL_GPS|$USB_PRODUCT_SILABS_DEGREE|$USB_PRODUCT_SILABS_EMS_C1007|$USB_PRODUCT_SILABS_HELICOM|$USB_PRODUCT_SILABS_IMS_USB_RS422|$USB_PRODUCT_SILABS_INFINITY_MIC|$USB_PRODUCT_SILABS_INSYS_MODEM|$USB_PRODUCT_SILABS_KYOCERA_GPS|$USB_PRODUCT_SILABS_LIPOWSKY_HARP|$USB_PRODUCT_SILABS_LIPOWSKY_JTAG|$USB_PRODUCT_SILABS_LIPOWSKY_LIN|$USB_PRODUCT_SILABS_MC35PU|$USB_PRODUCT_SILABS_MJS_TOSLINK|$USB_PRODUCT_SILABS_MSD_DASHHAWK|$USB_PRODUCT_SILABS_POLOLU|$USB_PRODUCT_SILABS_PROCYON_AVS|$USB_PRODUCT_SILABS_SB_PARAMOUNT_ME|$USB_PRODUCT_SILABS_SUUNTO|$USB_PRODUCT_SILABS_TAMSMASTER|$USB_PRODUCT_SILABS_TELEGESYS_ETRX2|$USB_PRODUCT_SILABS_TRACIENT|$USB_PRODUCT_SILABS_TRAQMATE|$USB_PRODUCT_SILABS_USBCOUNT50|$USB_PRODUCT_SILABS_USBPULSE100|$USB_PRODUCT_SILABS_USBSCOPE50|$USB_PRODUCT_SILABS_USBWAVE12|$USB_PRODUCT_SILABS_VSTABI|$USB_PRODUCT_SILABS_WAVIT|$USB_PRODUCT_SILABS_WMRBATT|$USB_PRODUCT_SILABS_WMRRIGBLASTER|$USB_PRODUCT_SILABS_WMRRIGTALK|$USB_PRODUCT_SILABS_ZEPHYR_BIO)";
++	action "kldload uslcom";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_SILABS2";
++	match "product" "$USB_PRODUCT_SILABS2_DCU11CLONE";
++	action "kldload uslcom";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_SILABS3";
++	match "product" "$USB_PRODUCT_SILABS3_GPRS_MODEM";
++	action "kldload uslcom";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_SILABS4";
++	match "product" "$USB_PRODUCT_SILABS4_100EU_MODEM";
++	action "kldload uslcom";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_SYNTECH";
++	match "product" "$USB_PRODUCT_SYNTECH_CYPHERLAB100";
++	action "kldload uslcom";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_USI";
++	match "product" "$USB_PRODUCT_USI_MC60";
++	action "kldload uslcom";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_VAISALA";
++	match "product" "$USB_PRODUCT_VAISALA_CABLE";
++	action "kldload uslcom";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_WAGO";
++	match "product" "$USB_PRODUCT_WAGO_SERVICECABLE";
++	action "kldload uslcom";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_WAVESENSE";
++	match "product" "$USB_PRODUCT_WAVESENSE_JAZZ";
++	action "kldload uslcom";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_WIENERPLEINBAUS";
++	match "product" "($USB_PRODUCT_WIENERPLEINBAUS_PL512|$USB_PRODUCT_WIENERPLEINBAUS_RCM|$USB_PRODUCT_WIENERPLEINBAUS_MPOD|$USB_PRODUCT_WIENERPLEINBAUS_CML)";
++	action "kldload uslcom";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_ACEECA";
++	match "product" "$USB_PRODUCT_ACEECA_MEZ1000";
++	action "kldload uvisor";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_ALPHASMART";
++	match "product" "$USB_PRODUCT_ALPHASMART_DANA_SYNC";
++	action "kldload uvisor";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_GARMIN";
++	match "product" "$USB_PRODUCT_GARMIN_IQUE_3600";
++	action "kldload uvisor";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_FOSSIL";
++	match "product" "$USB_PRODUCT_FOSSIL_WRISTPDA";
++	action "kldload uvisor";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_HANDSPRING";
++	match "product" "($USB_PRODUCT_HANDSPRING_VISOR|$USB_PRODUCT_HANDSPRING_TREO|$USB_PRODUCT_HANDSPRING_TREO600)";
++	action "kldload uvisor";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_PALM";
++	match "product" "($USB_PRODUCT_PALM_M500|$USB_PRODUCT_PALM_M505|$USB_PRODUCT_PALM_M515|$USB_PRODUCT_PALM_I705|$USB_PRODUCT_PALM_M125|$USB_PRODUCT_PALM_M130|$USB_PRODUCT_PALM_TUNGSTEN_Z|$USB_PRODUCT_PALM_TUNGSTEN_T|$USB_PRODUCT_PALM_ZIRE|$USB_PRODUCT_PALM_ZIRE31)";
++	action "kldload uvisor";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_SAMSUNG";
++	match "product" "$USB_PRODUCT_SAMSUNG_I500";
++	action "kldload uvisor";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_SONY";
++	match "product" "($USB_PRODUCT_SONY_CLIE_40|$USB_PRODUCT_SONY_CLIE_41|$USB_PRODUCT_SONY_CLIE_S360|$USB_PRODUCT_SONY_CLIE_NX60|$USB_PRODUCT_SONY_CLIE_35|$USB_PRODUCT_SONY_CLIE_25|$USB_PRODUCT_SONY_CLIE_TJ37|$USB_PRODUCT_SONY_CLIE_TH55)";
++	action "kldload uvisor";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_TAPWAVE";
++	match "product" "$USB_PRODUCT_TAPWAVE_ZODIAC";
++	action "kldload uvisor";
++};
++
++nomatch 10 {
++	match "bus" "uhub[0-9]+";
++	match "vendor" "$USB_VENDOR_SUNTAC";
++	match "product" "($USB_PRODUCT_SUNTAC_AS144L4|$USB_PRODUCT_SUNTAC_DS96L|$USB_PRODUCT_SUNTAC_IS96U|$USB_PRODUCT_SUNTAC_PS64P1|$USB_PRODUCT_SUNTAC_VS10U)";
++	action "kldload uvscom";
++};
++
+--- a/etc/devd/Makefile
++++ b/etc/devd/Makefile
+@@ -1,6 +1,11 @@
+ # $FreeBSD$
+ 
+-FILES=	asus.conf uath.conf
++FILES=	asus.conf uath.conf usb_ids.conf
++
++CLEANFILES+=	usb_ids.conf
++
++usb_ids.conf: genusbdevs.sh ../../sys/dev/usb/usbdevs
++	sh genusbdevs.sh > $@
+ 
+ NO_OBJ=
+ FILESDIR=	/etc/devd
+--- /dev/null
++++ b/etc/devd/genusbdevs.sh
+@@ -0,0 +1,15 @@
++#!/bin/sh -e
++
++echo "options {"
++
++grep ^vendor ../../sys/dev/usb/usbdevs | while read dummy vendor_name vendor_id vendor_desc ; do
++  printf "\t# $vendor_desc\n\tset USB_VENDOR_$vendor_name \"$vendor_id\";\n\n"
++done
++
++grep ^product ../../sys/dev/usb/usbdevs | while read dummy vendor_name product_name product_id product_desc ; do
++  printf "\t# $product_desc\n\tset USB_PRODUCT_${vendor_name}_${product_name} \"$product_id\";\n\n"
++done
++
++echo "};"
++
++exit 0

Modified: trunk/freebsd-utils/debian/patches/series
===================================================================
--- trunk/freebsd-utils/debian/patches/series	2011-06-18 20:25:06 UTC (rev 3473)
+++ trunk/freebsd-utils/debian/patches/series	2011-06-22 23:34:05 UTC (rev 3474)
@@ -29,3 +29,4 @@
 030_arp_libbsd.diff
 031_savecore.diff
 032_libbsd_overlay.diff
+033_devd_usb.diff

Modified: trunk/freebsd-utils/debian/rules
===================================================================
--- trunk/freebsd-utils/debian/rules	2011-06-18 20:25:06 UTC (rev 3473)
+++ trunk/freebsd-utils/debian/rules	2011-06-22 23:34:05 UTC (rev 3474)
@@ -36,9 +36,11 @@
 
 get-orig-source:
 	rm -rf $(ORIGDIR)
-	mkdir -p $(ORIGDIR)/sys/kern $(ORIGDIR)/etc
+	mkdir -p $(ORIGDIR)/sys/kern $(ORIGDIR)/sys/dev/usb $(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 \
+		 usr.sbin/jail bin/chflags \
+		 sbin/devd etc/devd.conf etc/devd sys/dev/usb/usbdevs \
+		 usr.sbin/acpi/acpiconf \
 		 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 \
@@ -73,6 +75,7 @@
 	$(PMAKE) -C sbin/camcontrol
 	$(PMAKE) -C sbin/ccdconfig
 	$(PMAKE) -C sbin/devd
+	$(PMAKE) -C etc/devd
 	$(PMAKE) -C sbin/devfs
 	$(PMAKE) -C sbin/dmesg
 	$(PMAKE) -C sbin/dumpon
@@ -159,6 +162,7 @@
 	$(PMAKE) -C sbin/atacontrol clean
 	$(PMAKE) -C sbin/camcontrol clean
 	$(PMAKE) -C sbin/devd clean
+	$(PMAKE) -C etc/devd clean
 	$(PMAKE) -C sbin/devfs clean
 	$(PMAKE) -C sbin/dmesg clean
 	$(PMAKE) -C sbin/dumpon clean
@@ -237,6 +241,7 @@
 #	dh_installpam
 #	dh_installmime
 	dh_installinit -pfreebsd-utils -- start 03 S .
+	dh_installinit -pfreebsd-utils --name=devd -- start 03 S . stop 01 0 6 .
 	dh_installinit -pkldutils --no-start -- start 12 S .
 	dh_installinit -pkbdcontrol -- start 20 S .
 #	dh_installcron




More information about the Glibc-bsd-commits mailing list